求C语言编程,要求输入任意三个数,按从小到大的顺序输出。

我是一个初学者,请诸位高手在步骤上详细一点。

有两种方法,冒泡法和比较法。
冒泡法牵涉到数组,考虑你是初学者,就不说了,有兴趣自己去看。
比较法:
main(void)//main函数程序的入口
{
int num1,num2,num3,temp;//定义变量存放三个数值和临时变量
printf("please input three numbers");//显示"please input three numbers"
scanf("%d,%d,%d",&num1,&num2,&num3);//输入三个数字
if(num1>num2){temp=num1,num1=num2,num2=temp}//交换数字顺序
if(num2>num3){temp=num2,num2=num3,num3=temp}//交换数字顺序
if(num1>num3){temp=num1,num1=num3,num3=temp}//交换数字顺序
printf("three numbers after sorted: %d,%d,%d/n",num1,num2,num3);//依次输出3个数
}
希望我的解答让你满意。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-12
int main(void)
{
float a, b, c, t;
printf("输入任意三个数:");
scanf_s("%f,%f,%f", &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("%5.2f,%5.2f,%5.2f,\n", a, b, c);
}本回答被网友采纳
第2个回答  2011-07-29
if(a<b)&(a<c)
{
if(b<c)
print ("%d,%d,%d",a,b,c);
else
print ("%d,%d,%d",a,c,b);
}
if(b<a)&(b<c)
{
if(a<c)
print ("%d,%d,%d",b,a,c);
else
print ("%d,%d,%d",b,c,a);
}
if(c<b)&(c<a)
{
if(a<b)
print ("%d,%d,%d",c,a,b);
else
print ("%d,%d,%d",c,b,a);
}本回答被提问者采纳
第3个回答  2011-07-29
用宏处理:
#include <stdio.h>
#define max(a,b) ((a)>(b))?(a):(b)
#define min(a,b) ((a)<(b))?(a):(b)
int main(int argc, char *argv[])
{
int a,b,c;
while(1)
{
scanf("%d %d %d",&a,&b,&c);
printf("max is: %d\n",max(max(a,b),c));
if((max(a,b)) != (max(a,c)))
printf("middle is: %d\n",min(max(a,b),max(a,c)));
else
printf("middle is: %d\n",max(b,c));
printf("min is: %d\n",min(min(a,b),c));
}
system("PAUSE");
return 0;
}
相似回答