对于比较数字大小的问题,比如随机输入三个数字,比较其中最大的

我的收获是,2个数比较大小可以直接比较,3个数比较大小可以用变量替换,当初我用的是if语句各种组合比较,后来发现结果总出错,出错原因未找到,但是改正的方法,我是用变量存最大的数再与下一个数比较,这样免去了逻辑的复杂性。改正后的代码如下:

#include<stdio.h>
int main()
{
//编写一个C程序,输入a,b,c三个值,输出其中最大者
int a,b,c,d;
int max(int x,int y,int z);
printf("请输入三个数字,每输入一个数字后加一逗号隔开,\n输入最后一个逗号后回车:\n");
scanf("%d,%d,%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);//测试输入的数字
d=max(a,b,c);
printf("三个数中最大的值是:%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int w;
if(x<y)
w=y;
else
w=x;

if(w<z)
w=z;

return w;
}

运行结果:

对于这个结果,用了很多测试用例,都是正确的。

 

posted @ 2017-06-30 16:48  百里飞熊  阅读(2651)  评论(0编辑  收藏  举报