📅  最后修改于: 2023-12-03 15:13:47.580000             🧑  作者: Mango
请编写一个程序,确定输入的字符串是否为回文,即正着读和倒着读都一样。如果是回文,输出 "YES",否则输出 "NO"。
12321
YES
回文是指正着和倒着读都一样的字符串,我们只需要将输入的字符串逆序后,和原字符串比较是否相等即可。
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
scanf("%s", str);
int len = strlen(str);
for (int i = 0; i < len/2; i++) {
if (str[i] != str[len-i-1]) {
printf("NO");
return 0;
}
}
printf("YES");
return 0;
}
定义字符数组 str
存储输入的字符串。
通过 scanf
函数输入字符串 str
。
计算字符串长度。
依次判断 str
的第 $1$ 个字符与倒数第 $1$ 个字符、第 $2$ 个字符与倒数第 $2$ 个字符……第 $n$ 个字符与倒数第 $n$ 个字符是否相等,其中 $n$ 为字符串长度的一半。
如果字符串不是回文,输出 "NO",并结束程序。
如果字符串时回文,输出 "YES",并结束程序。
输入:12321
输出:YES
输入:abcedf
输出:NO