c語(yǔ)言回文字符串怎么判斷

小億
85
2024-04-28 09:44:43

要判斷一個(gè)字符串是否為回文字符串,可以采取以下步驟:

  1. 定義兩個(gè)指針,分別指向字符串的起始和末尾位置。
  2. 依次比較兩個(gè)指針位置的字符是否相同,如果相同,則繼續(xù)向中間移動(dòng),直到兩個(gè)指針相遇。
  3. 如果在比較的過(guò)程中發(fā)現(xiàn)兩個(gè)指針?biāo)赶虻淖址幌嗤?,則說(shuō)明該字符串不是回文字符串。
  4. 如果所有字符都比較完畢且沒(méi)有發(fā)現(xiàn)不同的情況,則說(shuō)明該字符串是回文字符串。

以下是一個(gè)簡(jiǎn)單的C語(yǔ)言程序示例,用于判斷一個(gè)字符串是否為回文字符串:

#include <stdio.h>
#include <string.h>

int isPalindrome(char *str) {
    int i = 0;
    int j = strlen(str) - 1;
    
    while (i < j) {
        if (str[i] != str[j]) {
            return 0;
        }
        i++;
        j--;
    }
    
    return 1;
}

int main() {
    char str[100];
    
    printf("Enter a string: ");
    scanf("%s", str);
    
    if (isPalindrome(str)) {
        printf("The string is a palindrome.\n");
    } else {
        printf("The string is not a palindrome.\n");
    }
    
    return 0;
}

在上面的程序中,isPalindrome函數(shù)用于判斷一個(gè)字符串是否為回文字符串。在main函數(shù)中,用戶輸入一個(gè)字符串,然后調(diào)用isPalindrome函數(shù)進(jìn)行判斷并輸出結(jié)果。

0