题目描述:
问题分析:
分析为两步:1判断回文,2为回文数计数。判断回文数思路是将n反转,看是否与n相同;具体实现如代码,后用判断语句,是则将计数变量加一。将两步放入循环中,实现从1到n。
代码实现:
#include<stdio.h>
int main()
{
int n, a, b, n1, jishu = 0, i=1;
scanf("%d", &n);
while(i<=n)
{
n1 = i; //储存i的值
b = 0; //对上次循环的b初始化
while (i != 0)
{
a = i % 10;
i = i / 10;
b = b * 10 + a;
a = 0; //对上次的a循环初始化
} //将数字各个位反转
i = n1; //循环结束后i=0,要把i变为原来的值
if (n1 == b)
{
jishu++; //计数
}
i++; //经行下一次循环
}
printf("%d\n", jishu);
return 0;
}
运行结果: