题目:输入一个整数,正序输出它的每一个数字。
如 输入: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;
} 

lalala_dxf
1 声望0 粉丝