c语言完成:【问题描述】从键盘读入一个字符串(约定:字符数≤127字节),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda. 【输入形式】从键盘输入一个字符串,以回车换行结束,字符数小于等于127个. 【输出形式】若该字符串是回文,则输出shi hui wen。若该字符串不是回文,则输出bu shi hui wen 【样例输入1】adgda 【样例输出1】adgda shi hui wen 【样例输入2】abcdefgh 【样例输出2】abcdefgh bu shi hui wen
时间: 2023-02-06 19:46:51 浏览: 212
sscanf函数
以下是完成这道题所需的 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" 并结束程序.
阅读全文