【适用题型】编程题 【题目标题】寻找回文数 【问题描述】 所谓回文数就是将一个数从左向右读与从右向左读是一样的,例如,121和1331都是回文数。编写一个函数实现求正整数n以内的回文数。 【源文件名】ex403.c 【输入形式】输入一个正整数,为n的值 【输出形式】每行输出10个回文数,每两个回文数之间用逗号分隔
时间: 2023-11-22 11:52:12 浏览: 36
以下是C语言的实现代码,可以参考:
```c
#include <stdio.h>
int isPalindrome(int num) {
// 判断一个数是否为回文数
int temp = num, reverse = 0;
while (temp > 0) {
reverse = reverse * 10 + temp % 10;
temp /= 10;
}
return (num == reverse);
}
void findPalindrome(int n) {
// 寻找n以内的回文数
int count = 0;
for (int i = 1; i <= n; i++) {
if (isPalindrome(i)) {
printf("%d", i);
count++;
if (count % 10 == 0) {
printf("\n");
} else {
printf(", ");
}
}
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("在%d以内的回文数有:\n", n);
findPalindrome(n);
return 0;
}
```
在上面的代码中,我们先定义了一个 `isPalindrome()` 函数,用于判断一个数是否为回文数。然后定义了 `findPalindrome()` 函数,用于寻找 n 以内的回文数,并且每行输出 10 个回文数,每两个回文数之间用逗号分隔。
最后在 `main()` 函数中,读取用户输入的 n 值,然后调用 `findPalindrome()` 函数进行处理。