#include<stdio.h> int main() { int n = 141; //scanf("%d", &n); int i = 0; int a = 0; int b = 0; int c = 0; for (i = 1; i <= n; i++) { a = 0; b = i; while (b != 0) { a *= 10;//解题思想,每次递进十位数字,且首次为0,乘等10也是0 a += b % 10;//取b的余数赋值给a,初次赋的值将会变成回文数的第一位, b /= 10; //这就等于把i的值逆序一遍再去判断于原来的i相等吗。 } //如果相等则说明 这个数是一个回文数 if (i == a) { printf("%d\n", a); } } return 0; }