C言語 回文判定プログラムの作り方【サンプルコード付き】

文字列が回文かどうかを判断する方法は、次の手順で実装できます。

  1. 文字列の始めと終わりを指す2つのポインタを定義します。
  2. 両方のポインタが指す文字を順番に比較し、一致すれば中心に向かって移動し続けます。両方のポインタが出会うまで続けます。
  3. もし比較中に2つのポインタが指す文字が異なっている場合、その文字列は回文ではないということです。
  4. もし、2つのポインターが出会ったときに、異なる文字が見つからなかった場合、その文字列は回文です。

以下是用C语言实现的代码示例:

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

int isPalindrome(char *str) {
    int len = strlen(str);
    int start = 0;
    int end = len - 1;

    while (start < end) {
        if (str[start] != str[end]) {
            return 0; // 不是回文串
        }
        start++;
        end--;
    }

    return 1; // 是回文串
}

int main() {
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s", str);

    if (isPalindrome(str)) {
        printf("是回文串\n");
    } else {
        printf("不是回文串\n");
    }

    return 0;
}

日本語: 文字列を入力すると、プログラムはその文字列が回文かどうかを判断し、結果を出力します。

bannerAds