C语言 输入abc三个数,怎么从小到大输出??

如题所述

问题:输入三个数a,b,c,把其中的最大值赋值给c,中间赋值给b,最小值赋值给a。输出a,b,c。

参考代码:

#include "stdio.h"
int main()
{
int a,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
if(a>b){
max=a;
min=b;
}
else{
max=b;
min=a;
}
if(c>max) max=c;
if(min>c) min=c;
b=a+b+c-max-min;
c=max;
a=min;
printf("从大到小排序:%d %d %d\n",a,b,c);       
}
/*
运行结果:
3 1 2
从大到小排序:1 2 3
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-06
#include<stdio.h>
void main(void)
{
float x[3],*p=x;
printf("请输入三个数\n");
for(int i=0;i<3;i++)//键盘接收数据
{ printf("第%d个数:",i+1);
scanf("%f",p++);
}
for(i=0;i<2;i++)//冒泡法排序
{
p=x;
for(int j=0;j<2-i;j++,p++)
if(*p>*(p+1))
{
float t=*p;
*p=*(p+1);
*(p+1)=t;
}
}
printf("这三个数从小到大为\n");
p=x;
for(i=0;i<3;i++)//输出数据
printf("%.2f ",*p++);
printf("\n");
}本回答被提问者采纳
第2个回答  2014-03-06
main()
{
int a,b,c,t;
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;b=t;}
printf("%d,%d,%d",a,b,c);
}
第3个回答  2014-03-07
不动脑筋啊,亲,你用脚趾头都能想出来追问

-_-||我刚学,还什么都不懂

第4个回答  2014-03-07
冒泡排序法,选择排序法