判断一个数是否为回文数,可以通过将该数转化为字符串,然后比较字符串的前半部分和后半部分是否相同来实现。
具体步骤如下:
以下是一个示例代码:
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(int num) {
char str[20];
sprintf(str, "%d", num);
int start = 0;
int end = strlen(str) - 1;
while (start <= end) {
if (str[start] != str[end]) {
return false;
}
start++;
end--;
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d是回文数\n", num);
} else {
printf("%d不是回文数\n", num);
}
return 0;
}
注意,上述代码中使用了 sprintf 函数将整数转换为字符串,需要包含头文件 string.h
。另外,该示例中只能判断正整数是否为回文数,对于负数和含有0的数,需要根据具体需要进行调整。