编写程序,键盘输入字符串是否为回文字符串 用c实现
时间: 2024-04-10 07:27:57 浏览: 112
当用户输入一个字符串时,我们可以使用C语言编写一个程序来判断该字符串是否为回文字符串。回文字符串是指正向和反向读取都相同的字符串。
下面是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j, len, flag;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
flag = 1; // 假设为回文字符串
for (i = 0, j = len - 1; i < len / 2; i++, j--)
{
if (str[i] != str[j])
{
flag = 0; // 不是回文字符串
break;
}
}
if (flag == 1)
printf("是回文字符串\n");
else
printf("不是回文字符串\n");
return 0;
}
```
在这个程序中,我们首先使用 `gets()` 函数获取用户输入的字符串,并使用 `strlen()` 函数获取字符串的长度。然后,我们使用两个指针 `i` 和 `j` 分别从字符串的开头和结尾开始比较字符。如果任何一对字符不相等,我们将 `flag` 置为0,表示不是回文字符串。
最后,我们根据 `flag` 的值输出结果,如果 `flag` 为1,则表示是回文字符串,否则表示不是回文字符串。
需要注意的是,上述代码中使用了不安全的 `gets()` 函数来获取用户输入的字符串。为了避免缓冲区溢出,可以使用 `fgets()` 函数来替代 `gets()`,并且要注意处理输入字符串中的换行符。
阅读全文