题目:

封装一个函数,通过我们传入的一个 int 型数值,判断是“奇数”,还是“偶数”,并输出

分析:

1、数学层面:被 2 整除,是偶数,反之,奇数

2、代码层面:我们可以将题目要求抽象为:非黑即白的二元对立。

     算术运算符中的“取余”(%),它的计算特点非常适合这个题目

     再根据“非黑即白”的特点,可以翻译为:如果(if)。。。要不(else)

     那么代码的逻辑,基本就确定了。

3、函数声明、定义:

      返回类型:需要返回值,因为结果就两种,所以返回类型使用 bool;

      函数名称:PanDuanJiOu,即:判断奇偶;

      参数列表:int ,传入一个整数。

      按上面的描述,声明函数,如下:

      bool PanDuanJiOu(int value)// 编辑函数体内容

      {

                // 通过对传入的 value 进行“取余”运算,如果余数为:0,则表示value是偶数

                if(value % 2 == 0){

                          // 如果满足条件则返回:true,并结束判断

                          return true;

                }

                else
                {

                        // 进到else中,则表明value是奇数,所以返回 false

                        return false;

                }

      }

        // 函数定义完毕

进入主程序中

int main()

{

        // 因为函数的返回类型为:bool,所以我们要声明一个bool变量接收它的结果

        bool b1 = PanDuanJiOu(20);

        // 此时 b1 肯定是 true;下面我们使用三目运算符进行逻辑处理

        string str1 = b1 ? “偶数” :“奇数”;

        cout << str1 << endl;

        bool b2 = PanDuanJiOu(21); // 此时 b2 肯定是 false

        string str2 = b2 ? “偶数” :“奇数”;

        cout << str2 << endl;

}

输出结果:偶数 奇数

 

复盘案例

1、封装了一个返回值类型为:bool ,参数类型为:int 的函数,通过这个细节发现:返回类型和参数类型是无关的,使用什么类型的参数,返回什么类型的返回值,完全是由需求决定的;

2、在函数内部,使用了 if...else 语句进行了参数的判断,满足不同条件返回不同结果;

3、取余运算符,用于条件的运算;

4、最终函数输出为一个 bool 类型的结果,在主函数中用 bool 类型变量容器接收;

5、通过三目运算符选择匹配的字符串,作为最终的输出结果。

      

 

更多推荐