0%

求一个数字的位数并逆序打印

文章时效性提示

本文发布于 497 天前,部分信息可能已经改变,请注意甄别。

题目:给一个不低于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

#include <stdio.h>
int Cal_Digit(int input)
{
    int digit = 0;
    while (input>0)
    {
        input = input / 10;//每次除10,digit+1,直到input等于0为止
        digit++;
    }
    return digit;
}
void Reverse_Print(int input,int digit)
{
    printf("逆序后:");
    for (; digit>0; digit--)
    {
        int Last_Nun = input%10;//找到最后一位数
        printf("%d",Last_Nun);
        input = input / 10;//除以10,舍弃最后一位数,得到新的数
    }
    printf("\n");
}

int main() {
    int input;
    scanf("%d",&input);
    int digit = Cal_Digit(input);//计算数字的位数
    printf("这个数字是 %d 位数\n",digit);
    Reverse_Print(input,digit);//逆序打印
    return 0;
}