一、if嵌套语句

注意大于号和小于号。

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

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

#includeintmain(){inta,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b){if(a>c)max=a;elsemax=c;}else{if(b>c)max=b;elsemax=c;}printf("%d\n",max);return0;}

二、三目运算符

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

对于条件表达式x ” />

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

即为

if(x){returny;}else{returnz;}

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

#includeintmain(){inta,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a>b?a:b;max=max>c?max:c;printf("%d\n",max);return0;}

当然还有最厉害的三目运算符直接ok

#include int main(){int a = 10, b = 20, c = 30, min; //定义四个整型变量,并给前三个赋值min = a < b ? (a < c ? a : c) : (b < c ? b : c); //用条件运算符求出最小值printf("最小值是:%d\n", min); //输出最小值return 0;}

三、妙用中间变量

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

#includeintmain(){inta,b,c,m;scanf("%d%d%d",&a,&b,&c);if(a>b)m=a;elsem=b;if(c>m)m=c;printf("%d",m);return0;}

四、巧用赋值

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

#includeintmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(a<b)a=b;if(a<c)a=c;printf("%d",a);return0;}

五、运用子函数

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

#includeintmax(intx,inty){returnx>y?x:y;}intmain(){inta,b,c,m;scanf("%d%d%d",&a,&b,&c);printf("%d",max(max(a,b),c));return0;}

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

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

#includeintmain(){inti=0;intarr[10]={0};intmax=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);return0;}