C言語 回文判定プログラムの作り方【サンプルコード付き】
文字列が回文かどうかを判断する方法は、次の手順で実装できます。
- 文字列の始めと終わりを指す2つのポインタを定義します。
- 両方のポインタが指す文字を順番に比較し、一致すれば中心に向かって移動し続けます。両方のポインタが出会うまで続けます。
- もし比較中に2つのポインタが指す文字が異なっている場合、その文字列は回文ではないということです。
- もし、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;
}
日本語: 文字列を入力すると、プログラムはその文字列が回文かどうかを判断し、結果を出力します。