📅  最后修改于: 2023-12-03 15:26:45.876000             🧑  作者: Mango
编写一个程序,检查字符串是否为回文。即该字符串从前往后和从后往前读都是一样的。
下面是一个简单的C程序,可以实现字符串回文检查功能。
#include <stdio.h>
#include <string.h>
// 声明函数 is_palindrome
int is_palindrome(char *s);
// 主函数
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str); // 读取输入字符串
if (is_palindrome(str)) {
printf("%s 是一个回文字符串。\n", str);
} else {
printf("%s 不是一个回文字符串。\n", str);
}
return 0;
}
// 函数定义 is_palindrome
int is_palindrome(char *s) {
int len = strlen(s); // 获取字符串长度
for (int i = 0; i < len / 2; i++) {
if (s[i] != s[len - i - 1]) { // 对称位置字符不相等
return 0; // 不是回文字符串
}
}
return 1; // 是回文字符串
}
程序先读取用户输入的字符串,然后调用 is_palindrome
函数进行回文检查。最后根据检查结果输出提示信息。
该函数用于判断一个字符串是否为回文字符串。该函数具体实现过程如下:
len
。这个函数有一个参数 s
,表示待检查的字符串。