所谓回文数就是将一个数从左向右读与从右向左读是一样的,例如,121和1331都是回文数。编写一个函数实现求正整数n以内的回文数。 c语言大学内容 不用ispalindrome函数
时间: 2023-11-22 22:52:09 浏览: 113
以下是一个求解正整数n以内回文数的C语言函数实现:
```c
#include <stdio.h>
int isPalindrome(int num) {
int reversedNum = 0, temp = num;
// 反转数字
while (temp > 0) {
reversedNum = reversedNum * 10 + temp % 10;
temp /= 10;
}
// 如果反转后的数字与原数字相同,则是回文数
return reversedNum == num;
}
void palindromeNumbers(int n) {
printf("回文数:\n");
// 遍历1到n,输出回文数
for (int i = 1; i <= n; i++) {
if (isPalindrome(i)) {
printf("%d ", i);
}
}
}
int main() {
int n;
printf("输入一个正整数n:");
scanf("%d", &n);
palindromeNumbers(n);
return 0;
}
```
该函数定义了两个函数:`isPalindrome`和`palindromeNumbers`。
`isPalindrome`函数用于判断一个数是否为回文数。它首先将该数反转,然后判断反转后的数是否与原数相同即可。
`palindromeNumbers`函数用于遍历1到n,输出所有回文数。它调用了`isPalindrome`函数来判断每个数是否为回文数,并输出回文数。
阅读全文