欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

整数分解

程序员文章站 2022-03-23 09:52:53
...
/*整数分解
    1.由x的位数获得 mask 的值
    2. x 整除 mask 获得首位 
    3.x对mask取余(即剔除首位)
    4. mask除10
    5. 回到第2步 直到 x > 0 

*/
#include <stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    int t = x;
    int mask = 1;
    while( t > 9 ){
        t /= 10;
        mask *= 10;
    }
    //printf("mask = %d\n",mask);
    do{
        int d = x / mask;
        printf("%d",d);
        if( mask > 9 ){
            printf(" ");
        }
        x %= mask;
        mask /= 10;
        //printf("x=%d mask=%d d=%d\n",x,mask,d);
    }while( mask > 0  );
    return 0;
}