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;
}
代码说明:
-
输入一个5位数:
- 使用
scanf
函数从键盘读取一个整数num
。
- 使用
-
检查输入的数是否为5位数:
- 如果输入的数不在10000到99999之间,输出错误信息并退出程序。
-
提取各个位上的数字:
- 使用取模运算和除法运算逐位提取个位、十位、百位、千位和万位上的数字。
-
判断是否为回文数:
- 比较个位与万位、十位与千位是否相同。
- 如果相同,则输出该数是回文数;否则输出该数不是回文数。
原文地址:https://blog.csdn.net/weixin_45422672/article/details/144314469
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!