回文是指正著讀和倒著讀都相同的字符串,比如"level"、"radar"等。在C語言中,我們可以使用數組來處理回文問題。
下面是一個示例程序,通過數組處理回文問題:
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[])
{
int len = strlen(str);
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return 0;
}
}
return 1;
}
int main()
{
char str[100];
printf("Enter a string: ");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s is a palindrome\n", str);
} else {
printf("%s is not a palindrome\n", str);
}
return 0;
}
在該程序中,我們定義了一個函數isPalindrome
來判斷給定的字符串是否是回文。函數首先獲取字符串的長度,然后使用兩個指針i
和j
分別指向字符串的開頭和結尾,逐步向中間移動,判斷對應位置的字符是否相同,如果有不同的字符則返回0,表示不是回文;如果所有字符都相同,則返回1,表示是回文。
在main
函數中,我們首先輸入一個字符串,然后調用isPalindrome
函數來判斷該字符串是否是回文,最后根據函數的返回值輸出結果。
你可以在自己的電腦上編譯并運行這個程序,輸入不同的字符串來測試回文判斷的功能。