c语言编写一函数,判断一字符串是否为回文。所 谓“回文”是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的5个字符串统计其中回文的个数。
时间: 2024-03-14 10:47:04 浏览: 82
以下是一个示例程序,可以判断一个字符串是否为回文,并对输入的5个字符串统计其中回文的个数:
```
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
int main() {
char strs[5][20];
printf("请输入5个字符串,每个字符串不超过20个字符:\n");
for (int i = 0; i < 5; i++) {
scanf("%s", strs[i]);
}
int count = 0;
for (int i = 0; i < 5; i++) {
if (is_palindrome(strs[i])) {
printf("%s 是回文\n", strs[i]);
count++;
}
}
printf("共有 %d 个回文字符串\n", count);
return 0;
}
```
该程序首先定义了一个二维字符数组 `strs`,用于存储输入的5个字符串。通过 `for` 循环和 `scanf` 函数从标准输入中读入5个字符串。接下来定义了一个 `is_palindrome` 函数,用于判断一个字符串是否为回文。该函数通过循环和比较实现回文的判断,当字符数组从两侧向中间移动时,如果字符不相同,则该字符串不是回文;如果循环结束后都没有返回,则该字符串是回文。最后在主函数中通过循环调用 `is_palindrome` 函数判断每一个字符串是否为回文,并统计回文的个数。
阅读全文