四個數從大到小排序(數組)
#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]大則兩數交換。