注意大于号和小于号。
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; }
运用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分
359 人评分
#include<stdio.h> main() { int a,b,c,max; printf("请输入第一个数字\n"); scanf("%d",&a); printf("请输入第二个数字\n"); scanf("%d",&b); printf("请输入第三个数字\n"); scanf("%d",&c); max=a; if(b>max) { max=b; } if(c>max) { max=c; } printf("三个数中的最大值为:\n",max); return 0; } 这个代码有什么问题吗
#include<stdio.h> int main() { int a,b,c; scanf("%d,%d,%d",&a,&b,&c); if(a>b) { if(a>c) printf("%d",a); } else if(b>a) { if(b>c) printf("%d",b); } else(c>a); { if(c>b) printf("%d",c); rerurn 0; } 各位评价一下,刚学……
uohzy 2024-03-13 10:46:51 |
我也刚学,和我写的一样TT
#include<stdio.h> int main() { int a, b, c, max; scanf("%d%d%d", &a, &b, &c); if (a > b) max = a; else max = b; if (max> c) max = max; else max = c; printf("%d\n", max); return 0; } 为什么我输入的是10,20,30输出的却是10?
#include<stdio.h> int main() { int a,b,c,max; if(b>a&&b>c) max=b; else if(c>a) max=c; return 0; }为什么没问题一直显示错误啊
#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) c=m; printf("max=%d\n",m); return 0; } 为啥我这个代码,输入10 20 30,输出为30 输入30 20 10 ,输出为30
lisqing 2023-10-24 17:29:44 |
if(c>m),应该是m=c吧
#include<stdio.h> int main(int argc, const char *argv[]) { int a, b, c; printf("请输入三个值 >\n"); scanf("%d%d%d", &a, &b, &c); if(a > b && a > c) { printf("最大值为:%d\n", a); } else if(b > c) { printf("最大值为:%d\n", b); } else printf("最大值为:%d\n", c); return 0; }
#include<stdio.h> void main() { int a,b,c,max; scanf("%d%d%d",a,b,c); if(a>b) max=a; else max=b; if(c>max) max=c; else return max; printf("max=",max); }
小熊ldc 2023-04-21 09:09:52 |
#include<stdio.h> int main() { int a,b,c,max; printf("输入a,b,c三个数: "); scanf("%d,%d,%d",&a,&b,&c); if(a>b) max=a; else max=b; if(c>max) max=c; printf("max=%d",max); return 0; }
C语言考试练习题_排列 (C++代码)浏览:1089 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:718 |
Tom数 (C++代码)浏览:825 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:543 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1306 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:567 |
妹子杀手的故事 (C语言代码)浏览:1218 |
字符串的输入输出处理 (C语言代码)浏览:924 |
yume2841 2024-03-28 20:12:28 |
#include<stdio.h> main() { int a,b,c,max; printf("请输入第一个数字\n"); scanf("%d",&a); printf("请输入第二个数字\n"); scanf("%d",&b); printf("请输入第三个数字\n"); scanf("%d",&c); max=a; if(b>max) { max=b; } if(c>max) { max=c; } printf("三个数中的最大值为:%d\n",max); return 0; }
yume2841 2024-03-28 20:17:57 |
最后第三行\n前面要加%d