将输入的三个整数按从小到大的顺序排列输出 这段C语言应该怎么写啊?

???

#include <stdio.h>
int main()
{
int t,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);
return 0;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-27
冒泡排序法:
#include <stdio.h>
#define n 3
void main()
{
int i,j,t;
int a[3];
printf("请输入%d个数组元素:",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("从小到大排序后的结果为:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}

只用if语句的:
#include <stdio.h>
main(void)
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
{
if(b>c)
printf("%d %d %d",c,b,a);
else if(c>a)
printf("%d %d %d",b,a,c);
else
printf("%d %d %d",b,c,a);
printf("\n");
}
else if(b>=a)
{
if(a>c)
printf("%d %d %d",c,a,b);
else if(c>b)
printf("%d %d %d",a,b,c);
else
printf("%d %d %d",a,c,b);
printf("\n");
}
}
第2个回答  2008-12-27
这个题 你看看书基本就会了 给20分不值 呵呵。。
第3个回答  推荐于2017-10-08
随便用一个排序法不就行了吗?!
#include<stdio.h>
void pai();
main(){
int a[3],i;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
pai();
for(i=0;i<3;i++)
printf("%d",a[i]);
}
void pai(){
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<2;j++)
if(a[i]>a[j])
{
t=a[j];
a[j]=a[i];
a[i]=a[j];
}
}本回答被提问者采纳
第4个回答  2008-12-27
#include <stdio.h>
main(void)
{
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;c=t;}
printf("%d<%d<%d",a,b,c);
}
相似回答