//只采用数组的知识解答,应该比较易懂 int main() { int a = 0; int b; scanf("%d", &a); for (int i = 10; i <= a; i++) { int arr[6] = {};//由题范围创建数组大小 int arr1[6] = {}; int f = 0, h = 0; int n = 0,c=1; for (c=i; c != 0; n++)//将所得的数拆分翻入数组中 { b = c % 10; c = c / 10; arr[n] = b; } for (int e = n - 1; e >= 0; e--)//在将所得的元素倒放如另一个数组中 { arr1[f] = arr[e]; f++; } for (int g = 0; g <= n - 1; g++)//比较俩数组是否相等 { if (arr1[g] == arr[g]) { h++; if (h == n) { printf("%d\n", i); } } } } return 0; }