所谓回文数就是将一个数从左向右读与从右向左读是一样的,例如,121和1331都是回文数。编写一个函数实现求正整数n以内的回文数。【输入形式】输入一个正整数,为n的值 【输出形式】每行输出10个回文数,每两个回文数之间用逗号分隔C语言
时间: 2024-03-24 11:38:59 浏览: 62
下面是实现该功能的 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 printPalindromes(int 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);
printPalindromes(n);
return 0;
}
```
函数 `isPalindrome` 用于判断一个整数是否为回文数,函数 `printPalindromes` 用于打印出所有小于等于 n 的回文数。在 `printPalindromes` 函数中,我们使用一个计数器 `count` 来记录已经打印出的回文数的个数,每打印一个回文数,就将计数器加 1,当计数器为 10 的倍数时,就换行输出。
阅读全文