判斷一個(gè)數(shù)是否為回文數(shù),可以通過將該數(shù)轉(zhuǎn)化為字符串,然后比較字符串的前半部分和后半部分是否相同來實(shí)現(xiàn)。
具體步驟如下:
以下是一個(gè)示例代碼:
#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("請(qǐng)輸入一個(gè)整數(shù):");
scanf("%d", &num);
if (isPalindrome(num)) {
printf("%d是回文數(shù)\n", num);
} else {
printf("%d不是回文數(shù)\n", num);
}
return 0;
}
注意,上述代碼中使用了 sprintf 函數(shù)將整數(shù)轉(zhuǎn)換為字符串,需要包含頭文件 string.h
。另外,該示例中只能判斷正整數(shù)是否為回文數(shù),對(duì)于負(fù)數(shù)和含有0的數(shù),需要根據(jù)具體需要進(jìn)行調(diào)整。