如何用C语言编写一个函数来判断一个整数是否为回文数?
时间: 2024-11-03 12:23:15 浏览: 50
在C语言中,可以编写一个函数来检查一个整数是否是回文数。回文数是指从前往后读和从后往前读都一样的数字,例如121、1221等。这里提供一个简单的示例,使用了两个指针分别指向数的开始和结束:
```c
#include <stdio.h>
// 函数声明
int isPalindrome(int num);
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
if (isPalindrome(input))
printf("%d是一个回文数。\n", input);
else
printf("%d不是一个回文数。\n", input);
return 0;
}
// 判断回文数的函数
int isPalindrome(int num) {
// 如果输入是负数,直接返回不是回文
if (num < 0)
return 0;
int start = num; // 开始位置
int end = num; // 结束位置,并逐步减半
while (end / 10 > 0) { // 当末位不为0并且还有剩余位时
int digit_start = start % 10; // 获取开始位置的最后一位
int digit_end = end % 10; // 获取结束位置的最后一位
// 比较两端的数字,如果不同则不是回文
if (digit_start != digit_end) {
return 0;
}
start /= 10; // 移动开始位置到下一个数字
end /= 10; // 移动结束位置到下一个数字
}
return 1; // 数字是回文
}
```
阅读全文