int Arr[5],n,i,j;//5位数要五个整数来分开存
scanf("%5d",n);
for(i=0;i<5;i++) Arr[i]=n%10, n/=10;
for(i=0;i<5;i++)for(int j=0;j<5-i-1;j++){ if(Arr[j]<Arr[j+1]){n=Arr[j];Arr[j]=Arr[j+1];Arr[j+1]=n;}} //冒泡排序
printf("%d%d%d%d%d",Arr[0],Arr[1],Arr[2],Arr[3],Arr[4]);//直接输出
//for(n=0,i=0;i<5;i++) n=n*10+Arr[i]; printf("%d",n);//还原整数n后再输出 结果与上行等效
温馨提示:答案为网友推荐,仅供参考