C语言编程输入一个5位数以内的正整数,完成以下操作

<1>判断输入的数是一个几位数

这里利用一个简单的while循环即可实现

    while (x)
    {
        if (x / 10 != 0)
            suu++;
        x = x / 10;
    }
<2>按序或逆序输出其各位数字
首先使用数组将数字每一位取出存入数组
        for (i = 0; i <= suu; i++)
    {
        if (n == 1)
            a[suu] = n;
        a[i] = n % 10;
        n = n / 10;
    }

最后利用for循环语句将其正反输出即可

完整源代码如下:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,suu=1,x,i;
    int a[5];//数据最多五位
    printf("请输入一个五位以内的正整数\n");
    scanf("%d", &n);
    x = n;
    while (x)//判断位数
    {
        if (x / 10 != 0)
            suu++;
        x = x / 10;
    }
    printf("所输入的数字是一个%d位数\n", suu);
    for (i = 0; i <= suu; i++)//各位数存入
    {
        if (n == 1)
            a[suu] = n;
        a[i] = n % 10;
        n = n / 10;
    }
    printf("按序输出为:\n");
    for (i = suu-1; i >= 0; i--)//按序输出
        printf("%4d", a[i]);
    printf("\n按逆序输出为:\n");
    for (i = 0; i <= suu-1; i++)//按逆序输出
        printf("%4d", a[i]);
    printf("\n");
    system("pause");
    return 0;
}