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

程序分析:学会分解出每一位数,如下所示。

实例

#include <stdio.h>

int main() {
    long a, b, c, d, e, x;
    
    printf("请输入 5 位数字:");
    scanf("%ld", &x);
    
    a = x / 10000;      // 分解出万位
    b = x % 10000 / 1000;   // 分解出千位
    c = x % 1000 / 100;     // 分解出百位
    d = x % 100 / 10;       // 分解出十位
    e = x % 10;             // 分解出个位
    
    if (a != 0) {
        printf("为 5 位数,逆序为:%ld %ld %ld %ld %ld\n", e, d, c, b, a);
    } else if (b != 0) {
        printf("为 4 位数,逆序为:%ld %ld %ld %ld\n", e, d, c, b);
    } else if (c != 0) {
        printf("为 3 位数,逆序为:%ld %ld %ld\n", e, d, c);
    } else if (d != 0) {
        printf("为 2 位数,逆序为:%ld %ld\n", e, d);
    } else if (e != 0) {
        printf("为 1 位数,逆序为:%ld\n", e);
    }
    
    return 0;
}

以上实例输出结果为:

请输入 5 位数字:12345
为 5 位数,逆序为:5 4 3 2 1

该程序根据输入的正整数的位数,进行位数判断并逆序打印各位数字。在主函数中,我们接受用户输入的5位数字,并使用除法和取余运算分解出各位数字,分别保存在变量 abcde 中。然后使用多个 if 条件语句进行位数判断,根据不同位数的情况进行逆序打印。

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想, c语言练习, c语言练习题