题解 | #回文对称数#
回文对称数
https://www.nowcoder.com/practice/5b143af8328f4e42adf5e10397ae44ef
#include <stdio.h> // 判断一个数是否是回文数 int test(int x) { char arr[20]; // 定义字符数组存储整数的字符串表示 int sz, left, right; // 将整数转换为字符串 sprintf(arr, "%d", x); // 计算字符串的长度 sz = 0; while (arr[sz] != '\0') { sz++; } // 双指针判断是否为回文 left = 0; right = sz - 1; while (left <= right) { if (arr[left] != arr[right]) { return 0; // 不是回文数 } left++; right--; } return 1; // 是回文数 } int main() { int n, i; scanf("%d", &n); // 输入整数 n for (i = 1; i <= n; i++) { if (test(i)) { printf("%d\n", i); // 输出回文数 } } return 0; }