输入四个数abcd怎么按从大到小输出 C语言程序

输入四个数abcd怎么按从大到小输出
C语言程序C语言程序设计

#include <stdio.h>
int main()
{
    int a,b,c,d,t;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    if(a<b) t=a,a=b,b=t;
    if(a<c) t=a,a=c,c=t;
    if(a<d) t=a,a=d,d=t;
    if(b<c) t=b,b=c,c=t;
    if(b<d) t=b,b=d,d=t;
    if(c<d) t=c,d=c,c=t;
    printf("%d %d %d %d\n", a,b,c,d);
    return 0;
}追问

有问题啊

我输入1234输出的不是4321

追答

最后一个判断写错了,改一下
#include
int main()
{
int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a<b) t=a,a=b,b=t;
if(a<c) t=a,a=c,c=t;
if(a<d) t=a,a=d,d=t;
if(b<c) t=b,b=c,c=t;
if(b<d) t=b,b=d,d=t;
if(c<d) t=c,c=d,d=t;
printf("%d %d %d %d\n", a,b,c,d);
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-12-31
个整数的排序,有使用单个变量和使用数组二种方法实现。
使用单个变量的方法:
#include<stdio.h>
int main()
{int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b;b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}

printf("%d %d %d %d\n",a,b,c,d);
return 0;
}

使用数组和循环的方法:
#include<stdio.h>
int main()
{int a[4],i,j,t;
for(i=0;i<4;i++) //读入4个数据
scanf("%d",&a[i]);
for(i=0;i<3;i++) //冒泡排序
for(j=0;j<3-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}

for(i=0;i<4;i++) //输出4个数据
printf("%d ",a[i]);
printf("\n");
return 0;
}本回答被网友采纳
相似回答