【问题描述】输入一个5位十进制整数,判断是否为回文数。例如12321是一个回文数,个位与万位相同,十位与千位相同,是输出True,否输出False 【样例输入】12321 【样例输出】True用C语言回答问题。
时间: 2024-11-25 15:08:52 浏览: 13
null必修3算法习题程序清单汇编 二分法 回文数判断 数字分离技术 十进制和其他进制转化 因数输出 质数判断 a+a.doc
要在C语言中编写一个函数来判断一个5位整数是否为回文数,你可以采用以下方法。首先,将整数转换成字符串,然后比较字符串的第一个字符到倒数第一个字符是否相等。
以下是完整的C代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(int number) {
if (number < 10 || number > 99999) {
// 数字不足5位或超过范围,则非回文
return false;
}
char str[6];
sprintf(str, "%d", number); // 转换为字符串
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - 1 - i]) {
// 对应位置的字符不匹配,非回文
return false;
}
}
// 所有字符都匹配,是回文
return true;
}
int main() {
int input;
printf("请输入一个5位的十进制整数:");
scanf("%d", &input);
bool result = isPalindrome(input);
if (result)
printf("True\n");
else
printf("False\n");
return 0;
}
```
在这个程序中,`isPalindrome()` 函数会检查输入的5位数是否满足回文条件,如果是则返回 `true`,否则返回 `false`。
阅读全文