数字分解排序
问题描述
输入一个9位以内的正整数n,按数值从高到低的顺序输出n的各位数字。
输入说明
一个正整数n(0<n<1000000000)
输出说明
按数值从高到低的顺序输出n的各位数字,数字之间用空格隔开
输入样例
564391
输出样例
9 6 5 4 3 1
这应当不用多说……上源码
#include<stdio.h>
int main()
{
/**************************函数参数********************************************
*num 目标数字
*digit[9] 储存各个位数
*i,j,k,l 临时变量
*******************************************************************************/
int num;
int digit[9];
int i,j,k,l;
/*初始化*/
i=0;
/*输入*/
scanf("%d",&num);
/*限制范围*/
if(num>=1000000000||num<=0)
while(1);
/*拆解数字*/
while(num>0){
digit[i]=num%10;
num/=10;
i++;
}
/*大小排序*/
for(j=0;j<i-1;j++)
for(k=j;k<i;k++)
if(digit[j]<digit[k]){
l=digit[j];
digit[j]=digit[k];
digit[k]=l;
}
/*排序*/
for(j=0;j<i;j++)
printf("%d ",digit[j]);
return 0;
}
@ RoboMaster!十兮
快期末了,接着更新吧。加油!!!