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

    技术2022-07-10  152

    Input 54142 Output 5 4 4 2 1

    #include <stdio.h> 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; }
    Processed: 0.012, SQL: 9