回文数:正过来读和倒过来读一样的数;例如12321。
分别取出该5位数的位数,令第1位等于第5位,第2位等于第4位,即万位和个位、千位和十位相等。
代码
#include <stdio.h>
int main()
{
int a, b, c, d, e; //定义5个变量分别接收回文数的万、千、百、十、个位。
int i = 10000; //定义中间值
int count = 0; //定义count用来计数
for(;i <= 99999; i++)
{ //对10000到99999中间的数取余取出位数
a = i/10000; //取出万位
b = i/1000%10; //取出千位
c = i/100%10; //取出百位,(中间位也可不取)
d = i/10%10; //取出十位
e = i%10; //取出个位
if(a == e && b == d) //判断符合条件,万位和个位、千位和十位相等
{
printf("%d\n",i); //输出符合条件的数,即回文数
count++; //累计个数
}
}
printf("共有%d个回文数\n",count); //输出总个数,共900个
return 0;
}
运行结果