关于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;
} 

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理