c语言判断回文数,不能用string函数
时间: 2023-06-12 10:02:11 浏览: 112
可以使用数组来判断回文数,将数字拆分成单独的数字存入数组中,然后比较数组两端的数字是否相等。以下是C语言代码示例:
```c
#include <stdio.h>
int isPalindrome(int num) {
int digits[10]; // 最多保存10位数字
int i = 0, j;
// 将数字每一位存入数组中
while (num > 0) {
digits[i++] = num % 10;
num /= 10;
}
// 比较数组两端的数字是否相等
for (j = 0; j < i/2; j++) {
if (digits[j] != digits[i-j-1]) {
return 0; // 不是回文数
}
}
return 1; // 是回文数
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d 是回文数。\n", num);
} else {
printf("%d 不是回文数。\n", num);
}
return 0;
}
```
注意事项:上述代码只能判断正整数的回文数,对于负数和小数则需要另行处理。此外,该算法的时间复杂度为O(N),其中N为数字的位数。
阅读全文