判断是否是回文数 不用字符串
时间: 2024-11-20 13:29:02 浏览: 3
判断一个整数是否是回文数,通常不使用字符串操作,而是通过对数字进行翻转然后比较的方式。以下是一个简单的C语言函数示例,用于检查给定的整数是否是回文:
```c
#include <stdio.h>
// 函数定义
int isPalindrome(int num) {
if (num < 0) {
return 0; // 整数为负则不是回文
}
int reverse = 0, originalNum = num;
while (originalNum != 0) {
int digit = originalNum % 10;
reverse = reverse * 10 + digit; // 反转数字
originalNum /= 10; // 移除最右边的数字
}
return reverse == num; // 如果反转后的数字等于原数,则是回文,返回1;否则返回0
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d 是回文数\n", num);
} else {
printf("%d 不是回文数\n", num);
}
return 0;
}
```
在这个程序中,我们首先检查输入的数是否为负(如果是,肯定不是回文),然后逐个取出每一位数字并反向添加到`reverse`变量上。如果最终的`reverse`等于原始的`num`,那么这个数就是回文。
阅读全文