C语言编码,如果一个整数,正读反读都一样,则称为回文数,比如1221和12321都是回文数。输入一个正整数n,输出大于n的最小回文数。
时间: 2024-05-01 15:22:13 浏览: 173
实现思路:
1. 将输入的正整数n加1,得到一个数m。
2. 判断m是否是回文数,如果是,输出m,程序结束;如果不是,继续循环。
3. 判断一个数是否是回文数的方法是将其转化为字符串,然后判断字符串正反读是否相同。
4. 如果m不是回文数,则继续加1,重复步骤2和3,直到找到一个回文数为止。
以下是C语言的代码实现:
```c
#include<stdio.h>
#include<string.h>
int is_palindrome(int n);
int main()
{
int n, m;
printf("请输入一个正整数:");
scanf("%d", &n);
m = n + 1;
while(!is_palindrome(m))
{
m++;
}
printf("大于%d的最小回文数是:%d\n", n, m);
return 0;
}
int is_palindrome(int n)
{
char str[20];
sprintf(str, "%d", n); // 将整数转化为字符串
int len = strlen(str);
int i;
for(i = 0; i < len / 2; i++)
{
if(str[i] != str[len - i - 1])
{
return 0; // 不是回文数
}
}
return 1; // 是回文数
}
```
输入一个正整数10,输出大于10的最小回文数为11。
阅读全文