思路
- 根据题意定义一个判断函数;
- 遍历所有数字,如果是回文数计数器就加一;
知识点
- 函数的用法
- 将数字倒序排列和原数相比,如果相同就是回文数
代码实现
#include <iostream>
using namespace std;
//mrhe.net编写,引用需保留出处
//定义函数,判断是否回文数
bool huiwen(int x) {
int i, n, num = 0;
//将x存入n,因为n在下面要进行计算
n = x;
//假设不是
bool flag = false;
//根据题意小于10的数都是,其实这个if是多余的,只是便于新手理解.
if(x < 10) {
flag = true;
} else {
//将数字倒序
while(n != 0) {
num = num * 10 + n % 10;
n = n / 10;
}
//如果倒序之后的数和原来的数相同就返回true
if(x == num) {
flag = true;
}
}
return flag;
}
int main() {
int n, i, c = 0;
cin >> n;
//遍历1-n的数字,如果是回文数计数器+1
for(i = 1; i <= n; i++) {
if(huiwen(i) == true) {
c++;
}
}
cout << c << endl;
return 0;
}