C语言-将输入的一个自然数拆分成每个数位上的数字,并用升序输出

Input
54142
Output
5 4 4 2 1

#include 
int main(){
    int number;
    scanf("%d",&number);
    
    //将各个数位上的数字存入数组
    int cnt=0,N=1000000;//不知道几位数假设很大吧
    int num[N];
    while (number!=0) {
        num[cnt++] = number%10;//取余数
        number/=10;
    }
    //数组内部排序
    int mid;
        for (int i=0; i<cnt;i++ ) {
            for (int j=cnt-2; j>=i; j--) {
                if (num[j+1]>num[j]) {
                    mid = num[j+1];
                    num[j+1] = num[j];
                    num[j] = mid;
                }
            }
        }
     for (int i=cnt-1; i>=0; i--) {
                printf("%d ",num[i]);
            }
    return 0;
}

你可能感兴趣的:(C#刷题记录【初学】)