c语言编写函数,判断一个字符串是否是回文。在主函数中输入一个字符串,调用自定义函数,输出结果。所谓回文是指顺读和倒读都一样的字符串。如“XZYKYZX”是回文。
时间: 2024-03-09 16:47:40 浏览: 70
好的,这是一个比较典型的字符串操作问题。下面是一个简单的 C 语言函数,用于判断一个字符串是否为回文:
```c
#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 str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("%s 是回文\n", str);
} else {
printf("%s 不是回文\n", str);
}
return 0;
}
```
在这个函数中,我们首先使用 `strlen` 函数获取字符串的长度,然后使用一个循环遍历字符串的前一半字符,对于每一个字符,判断其是否与对应的后一半字符一致,如果存在不一致的情况,说明该字符串不是回文,返回 0;否则该字符串是回文,返回 1。
在主函数中,我们首先使用 `scanf` 函数读取用户输入的字符串,然后调用 `is_palindrome` 函数进行判断,最后输出结果。
希望这个代码能够帮到你!