简单C语言:输入一个数生成它的回文数
时间: 2024-12-08 10:14:03 浏览: 25
在C语言中,你可以创建一个函数来实现这个功能。首先,你需要接收用户输入的一个整数,然后检查它是否已经是回文数,如果不是,就找到它的回文等效数。下面是一个简单的示例,假设我们只处理正整数:
```c
#include <stdio.h>
#include <stdbool.h>
// 检查一个数是否是回文
bool isPalindrome(int num) {
int reversed = 0;
while (num > reversed) {
reversed = reversed * 10 + (num % 10);
num /= 10;
}
return num == reversed || num == reversed / 10; // 负数的情况特殊处理
}
// 输入一个数,如果需要,生成并输出回文数
void generatePalindrome() {
int input;
printf("请输入一个非负整数:");
scanf("%d", &input);
if (isPalindrome(input)) {
printf("%d 已经是回文数。\n", input);
} else {
int palindrome = input;
while (!isPalindrome(palindrome)) {
palindrome++;
}
printf("%d 的回文等效数是:%d\n", input, palindrome);
}
}
int main() {
generatePalindrome();
return 0;
}
```
在这个程序中,`isPalindrome()` 函数会判断给定的整数是否为回文。如果不是,`generatePalindrome()` 函数会在输入的数的基础上递增直到找到回文数。
阅读全文