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

c语言正序输出整数的各位数字

程序员文章站 2022-03-21 22:18:25
...

7-37 输出整数各位数字 (15分)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。

输入格式:
输入在一行中给出一个长整型范围内的非负整数。

输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

输入样例:

123456

输出样例:

1 2 3 4 5 6

一般的思路就是先得出这个数的位数,然后从高位开始分割,每个数字后面跟一个空格。特别需要注意的是对于边界数据比如0这些数的验证。

#include <stdio.h>

int main()
{
    int x;
    scanf("%d",&x);
    int t=x;      //x后面还要用,暂时先储存起来
    int mask;
    if (t==0) mask=0;else mask=1;  //0的时候要特判
    
    while (t>9){  //这一段整个是得出位数
        t /=10;
        mask *=10;
    }
    if (x==0)  printf("%d ",0);
    while (mask!=0) { //核心过程,万事俱备,注意while条件
        t= x/mask;
        x %=mask;
        mask /=10;
        printf("%d ",t);
    }

    return 0;
}
相关标签: c语言