用C语言,输入一个五位数,判断它是不是回文数,若是返回“是回文数”,若不是返回“不是回文数”。(注释:回文数即从左往右和从右往左读是一样的数;五位数的回文数是数字的个位与万位相同,十位与千位相同。如12321是回文数)。
时间: 2024-10-25 12:12:28 浏览: 35
在C语言中,判断一个五位数是否为回文数,可以通过比较数字的前半部分和后半部分是否相等来实现。这里我们可以先将输入的五位数转换为字符串,方便处理。以下是完整的代码示例:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(int num) {
char str[6]; // 存储5位数加上一位终止符
sprintf(str, "%d", num); // 将数字转为字符串
str[5] = '\0'; // 添加终止符
int start = 0; // 字符串开始位置
int end = strlen(str) - 1; // 字符串结束位置
while (start < end) {
if (str[start] != str[end]) { // 检查首位和末位是否相等
return 0; // 若不相等,则不是回文数
}
start++;
end--;
}
return 1; // 如果循环结束,说明是回文数
}
int main() {
int num;
printf("请输入一个五位数: ");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("是回文数\n");
} else {
printf("不是回文数\n");
}
return 0;
}
```
在这段代码中,我们首先将输入的五位数转换成字符串,然后从两端开始逐个字符对比。只要有一次不匹配,就立即返回0表示不是回文数;如果没有不匹配,就返回1表示是回文数。
阅读全文