四个数从大到小排序(数组)
#include<stdio.h>
int main()
{
int a[4],i,j;
for(i=0;i<4;i++) scanf("%d",&a[i]);
for(j=1;j<4;j++){if(a[0]<a[j]){a[0]=a[0]+a[j];a[j]=a[0]-a[j];a[0]=a[0]-a[j];}}
for(j=2;j<4;j++){if(a[1]<a[j]){a[1]=a[1]+a[j];a[j]=a[1]-a[j];a[1]=a[1]-a[j];}}
if (a[2]<a[3]) {a[2]=a[2]+a[3];a[3]=a[2]-a[3];a[2]=a[2]-a[3];}
for(i=0;i<4;i++) printf("%d",a[i]);
}
排序分析
a[0]与后面所有数比较大小,如果后面的数大则与a[0]交换。
a[1]与后面所有数比较大小,如果后面的数大则与a[1]交换。
a[2]与a[3]比较,若a[3]大则两数交换。