以下是完成这道题所需的 C 语言代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str[128]; // 存储字符串的数组
int len, i; // len 为字符串的长度, i 为循环计数器
// 从键盘读入字符串
printf("请输入字符串: ");
scanf("%s", str);
// 计算字符串的长度
len = strlen(str);
// 检查字符串是否是回文
for (i = 0; i < len / 2; i++)
{
if (str[i] != str[len - i - 1]) // 如果有任意一对字符不相等,则不是回文
{
printf("%s bu shi hui wen\n", str); // 输出结果
return 0; // 结束程序
}
}
printf("%s shi hui wen\n", str); // 如果没有任意一对字符不相等,则是回文
return 0;
}
在这段代码中, 我们使用了 scanf
函数从键盘读入字符串, 使用了 strlen
函数计算字符串的长度, 并使用了一个循环来检查字符串的前半部分和后半部分是否对称. 如果发现有任意一对字符不相等, 就输出 "bu shi hui wen" 并结束程序. 如果字符串的前半部分和后半部分都对称, 就输出 "shi hui wen" 并结束程序.