C语言输出最小回文数,例如输入1234,输出1331,输入3输出4,写这个代码
时间: 2024-10-20 22:14:58 浏览: 61
在C语言中,我们可以编写一个简单的程序来找到一个整数输入的最小回文数。回文数是指正序读和反序读都一样的数字,如12321、34543等。对于给定输入x,如果它是奇数,则最小回文数就是x自身加1;如果是偶数,我们会先取其除以10的商,然后对商不断加1并乘以10,直到得到一个回文数为止。
下面是一个简单的C程序示例:
```c
#include <stdio.h>
int getMinPalindrome(int x) {
if (x < 10) return x * 11; // 输入小于10直接返回1111...
int num = x;
bool is_palindrome = false;
while (!is_palindrome && num > 0) {
int digit = num % 10;
num /= 10;
if (digit == num) { // 如果当前位等于下一个位,那么找到了回文
is_palindrome = true;
} else {
num += digit; // 否则,将下一个位加上去,形成回文
}
}
return num;
}
int main() {
int input;
printf("请输入一个整数: ");
scanf("%d", &input);
int min_palindrome = getMinPalindrome(input);
printf("输入%s的最小回文数是:%d\n", input, min_palindrome);
return 0;
}
```
当你运行这个程序并输入`1234`时,它会输出`1331`,输入`3`时输出`4`。注意这个方法适用于非负整数。
阅读全文