C语言,在界面文本中任意输入5个数字,请将数字从大到小排序输出,每个数字之间可用分号隔开
2个回答
展开全部
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后再输出 结果与上行等效
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后再输出 结果与上行等效
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询