c语言比较3个数大小

如题所述

第1个回答  2010-11-21
这年头怎么都这么问问题啊。。。你说下你的想法嘛。。一起交流下,编程思路才是重要的。你这样就算给你代码也帮不了你多少啊。。
main()
{ int a,b,c,t;
printf("input a,b,c: ");
scanf("%d%d%d",&a,&b,&c);
if(a>b) {t=a; a=b; b=t; }
if(a>c) {t=a; a=c; c=t; }
if(b>c) {t=b; b=c; c=t; }
printf("%d%d%d\n",a,b,c);
}

关键是那三个if语句,作用是,总是把最小的数放在a中,最大的数放在c中。
通过交换达到目的。这个方法是比较常见的。
第2个回答  2010-11-21

试试这段话,看图

本回答被提问者和网友采纳
第3个回答  2010-11-25
错误之一同楼上所述!
第二个错误是你程序中的or,C语言中没有这个关键字!!
逻辑运算中的or在程序设计中应表示为||,即“或”的意思,
另外逻辑运算符&&代表“且”,!代表“非”。
其实球最大值没必要那么麻烦,用三目运算符实现更简洁方便!

#include "stdio.h"
int max(int x,int y,int z)
{
int max;
max=x>y?x:y;
max=max>z?max:z;
return max;
}

void main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
}
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
第4个回答  2010-11-21

如图

第5个回答  2010-11-28
错误之一同楼上所述!
第二个错误是你程序中的or,C语言中没有这个关键字!!
逻辑运算中的or在程序设计中应表示为||,即“或”的意思,
另外逻辑运算符&&代表“且”,!代表“非”。
其实球最大值没必要那么麻烦,用三目运算符实现更简洁方便!

#include "stdio.h"
int max(int x,int y,int z)
{
int max;
max=x>y?x:y;
max=max>z?max:z;
return max;
}

void main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
}