判斷一個數是否為回文數的一種簡單方法是將該數轉化為字符串,然后比較字符串的前一半與后一半是否相等。具體步驟如下:
以下是一個使用該方法判斷回文數的示例代碼:
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(int num) {
char str[20]; // 假設數的最大位數不超過20
sprintf(str, "%d", num); // 將數轉化為字符串
int len = strlen(str);
int mid = len / 2;
for (int i = 0; i < mid; i++) {
if (str[i] != str[len - 1 - i]) {
return false;
}
}
return true;
}
int main() {
int num;
printf("請輸入一個整數:");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d是回文數\n", num);
} else {
printf("%d不是回文數\n", num);
}
return 0;
}
注意:上述代碼假設數的最大位數不超過20,可以根據實際需求調整數組str
的大小。另外,上述方法可以處理負數情況,例如對于輸入的數-121,仍會判斷為回文數。