自学内容网 自学内容网

C语言习题2-输入一个5位数,判断它是不是回文数。12321是回文数,因为个位与万位相同,十位与千位相同

#include <stdio.h>

int main() {
    int num, originalNum, reversedNum = 0;
    int digit1, digit2, digit3, digit4, digit5;

    // 输入一个5位数
    printf("请输入一个5位数: ");
    scanf("%d", &num);

    // 检查输入的数是否为5位数
    if (num < 10000 || num > 99999) {
        printf("输入的数不是5位数。\n");
        return 1;
    }

    originalNum = num;

    // 提取各个位上的数字
    digit1 = num % 10;       // 个位
    num /= 10;
    digit2 = num % 10;       // 十位
    num /= 10;
    digit3 = num % 10;       // 百位
    num /= 10;
    digit4 = num % 10;       // 千位
    num /= 10;
    digit5 = num % 10;       // 万位

    // 判断是否为回文数
    if (digit1 == digit5 && digit2 == digit4) {
        printf("%d 是回文数。\n", originalNum);
    } else {
        printf("%d 不是回文数。\n", originalNum);
    }

    return 0;
}

代码说明:

  1. 输入一个5位数

    • 使用 scanf 函数从键盘读取一个整数 num
  2. 检查输入的数是否为5位数

    • 如果输入的数不在10000到99999之间,输出错误信息并退出程序。
  3. 提取各个位上的数字

    • 使用取模运算和除法运算逐位提取个位、十位、百位、千位和万位上的数字。
  4. 判断是否为回文数

    • 比较个位与万位、十位与千位是否相同。
    • 如果相同,则输出该数是回文数;否则输出该数不是回文数。

原文地址:https://blog.csdn.net/weixin_45422672/article/details/144314469

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!