C语言,编写一个程序,判断一个字符串是否为回文(顺读和倒读都一样的字符串称为回文)。 【输入形式】长度小于100的任意字符串 【输出形式】yes或no 【样例输入】abcdcba 【样例输出】yes
时间: 2024-09-08 11:03:24 浏览: 58
要编写一个C语言程序判断一个字符串是否为回文,可以通过比较字符串的前半部分和后半部分来实现。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
bool isPalindrome(const char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return false;
}
}
return true;
}
int main() {
char str[101]; // 假设输入的字符串长度不超过100
// 读取输入的字符串
fgets(str, sizeof(str), stdin);
// 去除字符串末尾的换行符
str[strcspn(str, "\n")] = 0;
// 判断是否为回文并输出结果
if (isPalindrome(str)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
这段代码定义了一个`isPalindrome`函数,它接收一个字符串参数,通过一个循环比较从字符串两端开始的字符是否相等。如果所有对称位置的字符都相等,则该字符串是回文,函数返回`true`;否则不是回文,返回`false`。在`main`函数中,程序读取用户输入的字符串,调用`isPalindrome`函数进行判断,并输出结果。
阅读全文