判斷一個數是否為回文數,可以通過將該數轉化為字符串,然后比較字符串的前半部分和后半部分是否相同來實現。
具體步驟如下:
以下是一個示例代碼:
#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的數,需要根據具體需要進行調整。