乐趣区

关于c:整数分解

题目:输出一个整数,正序输入它的每一个数字。
如 输出:12345 输入:1 2 3 4 5
输出:700 输入:7 0 0
留神最初一个数字后无空格。
代码如下:

#include<stdio.h>
int main(){
    // 输出
    int input;
    scanf("%d",&input);
    
    int mask=1;
    // 从新创立一个变量用来存 input 值
    int testValue = input;
    // 循环:当 testValue 大于 9 或大于等于 10,满足循环要求
    while(testValue>9){
    // 如果整数有 5 位,那么 mask 最终就会为 10000,用来做最开始的除数
        testValue /= 10; 
        mask *= 10;
    }
     //    printf("mask = %d,testValue = %d",mask,testValue);
     // 能够用来测试以后代码 mask 值
    
    do{
     // 用来将最高位分来到:如 1434/1000=1;  434/100=4; 34/10=3;4/1=4;int receive = input/mask;
    // 使最初一个数字后没有空格
        if(mask>9){printf(" ");
        }
     // 用来去除最高位 1434%1000=434;。。。input = input%mask;
     // 放大 mask,求整数对应位数的数字
        mask /= 10;    
    } while(mask>0);
    return 0;
} 
退出移动版