C语言学习-菜鸟教程C经典100例-练习30
题目
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
思路
先分解每一位数,5位数:万千百十个,回文数:万=个,千=十
代码
c
#include <stdio.h>
int main(){
int num;
int a, b, c, d, e; // 各位数字
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
a = num / 10000; // 万位
b = (num % 10000) / 1000; // 千位
c = (num % 1000) / 100; // 百位
d = (num % 100) / 10; // 十位
e = num % 10; // 个位
if(a == e && b == d){
printf("%d 是一个回文数。\n", num);
}else{
printf("%d 不是一个回文数。\n", num);
}
return 0;
}
输出结果
c
请输入一个不多于5位的正整数:12321
12321 是一个回文数。
请输入一个不多于5位的正整数:12345
12345 不是一个回文数。