BSN玄星


私信TA

用户名:dotcpp0632740

访问量:868

签 名:

等  级
排  名 351
经  验 5301
参赛次数 9
文章发表 9
年  龄 13
在职情况 学生
学  校 福清文光中学
专  业

  自我简介:

一、if嵌套语句

      注意大于号和小于号。

      if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。


      第二种形式为: if-else
if(表达式) 
    语句1;
else 
    语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

#include<stdio.h>

int main()

{

    int a, b, c, max;

    scanf("%d%d%d", &a, &b, &c);

    if (a > b)

    {

        if (a > c)

            max = a;

        else

            max = c;

    }

    else

    {

        if (b > c)

            max = b;

        else

            max = c;

    }

    printf("%d\n", max);

    return 0;

}

   


二、三目运算符

     运用三目运算符(x?y:z;)简便运算。

     对于条件表达式x ? y : z;先计算条件x,然后进行判断。如果b的值为true,计算y的值,运算结果为y的值;否则,计算z的值,运算结果为z的值。一个条件表达式绝不会既计算y,又计算z。

     ? : ; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

     可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

即为



if(x) 

{

    return y;

else 

{

    return z; 

}

   


     注意:在C语言中,结果1 和 结果2的类型必须一致。

   

#include<stdio.h>

 

int main()

{

    int a, b, c, max;

    scanf("%d%d%d", &a, &b, &c);

    max = a > b ? a : b;

    max = max > c ? max : c;

    printf("%d\n", max);

    return 0;

}

   


三、妙用中间变量

      定义一个中间变量 m,假设它是最大值,并和a,b,c比较。、

#include<stdio.h>

 

int main()

{

    int a, b, c, m;

    scanf("%d%d%d", &a, &b, &c);

    if (a > b)

        m = a;

    else

        m = b;

    if (c > m)

        m = c;

    printf("%d", m);

    return 0;

}

   


四、巧用赋值

       假定其中一个值为最大值,将实际最大值赋值于它,最后输出

#include<stdio.h>

 

int main()

{

    int a, b, c;

    scanf("%d%d%d", &a, &b, &c);

    if (a < b)

        a = b;

    if (a < c)

        a = c;

    printf("%d", a);

    return 0;

}

   


五、运用子函数

      调用函数寻找最大值,让主函数简洁。

#include<stdio.h>

 

int max(int x, int y)

{

    return x > y ? x : y;

}

 

int main()

{

    int a, b, c, m;

    scanf("%d%d%d", &a, &b, &c);

    printf("%d", max(max(a, b), c));

    return 0;

}

   


(补充)任意个数求最大值(假设10个数)

      运用for循环,遍历对比数组,假定中间量为最大值。

#include<stdio.h>

 

int main()

{

    int i = 0;

    int arr[10] = {0};

    int max = 0;  //定义变量max用来作比较

    for (i = 0; i < 10; i++)

    {

        scanf("%d", &arr[i]);    //输入整数

    }

    for (i = 0; i < 10; i++)

    {

        if (max < arr[i])

            max = arr[i];

    }

    printf("最大值为%d\n", max);

    return 0;

}

   




 

0.0分

1 人评分

  评论区

  • «
  • »