c语言中判断一个数是否为回文数,不能用数组
时间: 2024-10-10 20:05:40 浏览: 33
C 语言程序来检查一个数字是否是回文数.docx
在 C 语言中,判断一个数是否为回文数,即数字从前往后读和从后往前读是一样的,可以不用数组,通常采用递归或者两个指针分别指向数字的首位和末位进行比较的方式。这里提供一个简单的非递归方法:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int num) {
if (num < 0) // 负数不是回文数
return false;
int reverse = 0; // 反转后的数
while (num != 0) {
int digit = num % 10; // 获取当前位数
reverse = reverse * 10 + digit; // 将反转数增加当前位
num /= 10; // 移除当前位
}
return num == reverse; // 如果原数等于反转数,则是回文数
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPalindrome(num))
printf("%d 是回文数。\n", num);
else
printf("%d 不是回文数。\n", num);
return 0;
}
```
阅读全文