知识基础:
scanf("输入模式",地址列表);//输入语句及其格式。注:地址列表一定要加取地址符号&,如:&a,&b
printf("输出模式",输出列表);//输出语句及其格式。注:输出模式和输出列表一一对应,如:printf("%d%d",a,b);
if(表达式){若干语句}//单条件单分支的条件语句,若表达式成立,执行若干语句
if(表达式){若干语句1}else{若干语句2}//单条件双分支的条件语句,若表达式成立,则执行若干语句1,若表达式不成立,执行若干语句2
题目是输入a、b、c三个值,输出其中最大值,除了需要a,b,c三个变量以外,还需要一个变量t存放最大值,先拿a和b比较,如果a>b则t存放a的值,否则存放b的值,再拿c和t比较(因为t中存放的是a,b中最大的),如果c>t,则把c中的值替换t中的值,输出t
答案
#include<stdio.h> int main(){ int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) t=a; else t=b; if(c>t) t=c; printf("%d\n",t); return 0; }
ps:if中若干语句如果只有一条的话,可以省略大括号{}
else中若干语句如果只有一条的话,可以省略大括号{}
程序结束return 0;不可省
0.0分
241 人评分
#include<stdio.h> int main() { double a,b,c,t,max; scanf("%lf%lf%lf",&a,&b,&c); if(a>b) t=a; else t=b; if(t>c) max=t; else max=c; printf("%f\n",max); return 0; } 求问类型改成double为什么就出现问题,求指正,谢谢!
#include<stdio.h> int main() { double a[3]; for (int i=0;i<3;i++) scanf("%lf",&a[i]); a[0]=a[0]>a[1]?a[0]:a[1]; a[0]=a[0]>a[2]?a[0]:a[2]; printf("%f",a[0]); return 0; } 这个答案为啥判错?我觉得挺对的
efes 2020-05-02 16:59:24 |
好像for只支持C99吧
#include <stdio.h> int max (int, int, int); int main(void) { int a,b,c; int result; printf("输入三个整数"); scanf("%d %d %d", &a, &b, &c); result = max (a, b, c); printf("%d",result); return 0; } int max(int a, int b, int c) { int tmp = a; if(b > tmp) tmp = b; if(c > tmp) tmp = c; return tmp; } 不知道错在哪里,那个大神指点一下吧。
#include<stdio.h> int main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a>b) { if(a>c) printf("max=%d",a); else printf("max=%d",c); } else { if(b>c) printf("max=%d",b); else printf("max=%d",c); } return 0; } 请问大佬们,我在网页运行结果和样例一样,换数据的结果也是对的,为什么习题还是认定我是错的? 请问我哪里错了?
哪只虫儿敢作声 2020-03-29 15:38:33 |
max=去掉吧,这个判断对结果很严谨的,我也是小白,共同进步
#include<stdio.h> int main() { int a,b,c,m; printf("请输入3个书"); scanf("%d,%d,%d",&a,&b,&c); if (a>b) m=a; else m=b; if (m>c) printf("%d",m); else printf("%d",c); return 0; } 求大佬指出这为什么一直出最第一个输出的值
感觉不成立啊,如果a b中的值有一个大于c,c赋值给了t,所以c>t不成立,大括号内不执行,输出也就空了。在加一句else{printf("%d\n",t) };就好了。
这不是憔悴是颓废 2019-11-27 17:02:13 |
先判断c是否>t,成立则把c的值赋给t,不成立则跳过不执行
#include<stdio.h> void main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a>b>c||a>c>b) printf("%d",a); else if(b>a>c||b>c>a) printf("%d",b); else printf("%d",c); }哪个大佬能和我说一下哪里错了啊
我再补个程序 编译通过的 #include<stdio.h> void main() { int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=(a>b?a:b)>c?(a>b?a:b):c; printf("%d",max); }
yidahai 2019-12-03 21:33:59 |
为啥看不懂
肖夕梦 2020-01-18 13:17:28 |
#include <stdio.h> int main() { int a,b,c; scanf("%d,%d,%d",a,b,c); if(a>b&&a>c) printf("%d ",a); if(b>a&&b>c) printf("%d ",b); if(c>a&&c>b) printf("%d ",c); return 0; }
肖夕梦 2020-01-18 13:18:00 |
这样为什么不可以呢