1149 - 回文数个数

思路

  1. 根据题意定义一个判断函数;
  2. 遍历所有数字,如果是回文数计数器就加一;

知识点

  1. 函数的用法
  2. 将数字倒序排列和原数相比,如果相同就是回文数

代码实现

#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;
}
文章目录