请教最简单比较大小
不考虑有相等的情况,这个为什么无法输出最大?总是输出a的值?
- C/C++ code
#include<stdio.h>void main(){ int a,b,c,max; printf("请输入三个数字\n"); 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);}[解决办法]
逻辑似乎没错,你确定不对么
[解决办法]
没问题啊
[解决办法]
输入格式对了么?注意数字之间要有逗号
printf一下a,b,c等于多少?
[解决办法]
没错呀,刚试了一下!!
[解决办法]
这个程序是对的,
你说的这种情况我估计是你输入数的时候中间没加逗号。
[解决办法]
程序没错,不过你在输入数字时应该给每个数字之间加一个逗号
[解决办法]
程序逻辑没问题
LZ是不是输入数据时数据之间用的是空格?
scanf("%d,%d,%d",&a,&b,&c);//这里写成这样,输入数据时数据之间要输入逗号(,)
scanf("%d%d%d",&a,&b,&c);//写成这样,输入数据时数据之间输入空格
[解决办法]
[解决办法]
printf那里的格式是不对的,d%那里
[解决办法]
- C/C++ code
scanf("%d,%d,%d",&a,&b,&c); //你指定了输入时的格式,那么你就得按照这个格式来输入. 三个数字之间需要都 逗号,否则,数据的读入会有无法预料的结果.