C语言整数排序

来源:百度知道 编辑:UC知道 时间:2024/07/07 09:15:26
main()
{
int a,b,c,d,a1,b1,c1;
scanf("%d%d%d%d",a,b,c,d);
if ((a>b) && (b>c))
{
a1=a;
b1=b;
c1=c;
}
if ((a>c) && (c>b))
{
a1=a;
b1=c;
c1=b;
}
if ((c>a) && (a>b))
{
a1=c;
b1=a;
c1=b;
}
if ((c>b) && (b>a))
{
a1=c;
b1=b;
c1=a;
}
if ((b>a) && (a>c))
{
a1=b;
b1=a;
c1=c;
}
if ((b>c) && (c>a))
{
a1=b;
b1=c;
c1=a;
}
if ((d>a1) && (d>b1) && (d>c1))
printf("\n%d%d%d%d",d,a1,b1,c1);
else if ((d<a1) && (d>b1) && (d>c1))
printf("\n%d%d%d%d",a1,d,b1,c1);
else if ((d<a1) && (d<b1) && (d>c1))
printf("\n%d%

这个不对...
只要定义5个int就行 a,b,c,d,e
首先用a分别和 b,c,d 比较
然后用b分别和 c,d 比较
最后用c和d 比较
举个例子
if(a>b)
{e=b,b=a,a=b;} 表示a和b交换一下,小的在前面.
懂了?

#include<iostream>
using namespace std;
int cmp(const void*x,const void*y){
return *(int *)y-*(int *)x;
}
int main(){
int a[4];
scanf ("%d %d %d %d",&a[0],&a[1],&a[2],&a[3]);
qsort(a,0,sizeof(a[0]),cmp);
printf ("%d %d %d %d",a[0],a[1],a[2],a[3]);
return 0;
}

错误:scanf("%d%d%d%d",a,b,c,d);应该是&a,&b,&c,&d