用c语言编程判断输入的字符串是否为“回文”,如果是则输出"Yes",反之输出"No"。所谓“回文”是指顺读和倒读都一样的字符串。如"xyzzyx"。
时间: 2023-06-27 15:06:53 浏览: 707
以下是用 C 语言编写的判断回文字符串的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len / 2; i++)
{
if (str[i] != str[len - i - 1])
{
flag = 1;
break;
}
}
if (flag)
printf("No");
else
printf("Yes");
return 0;
}
```
程序中,首先定义了一个字符数组 `str` 用于存放输入的字符串,以及定义了变量 `i`、`len` 和 `flag`。其中,`i` 用于遍历字符串中的字符,`len` 用于记录字符串的长度,`flag` 用于标记字符串是否为回文。
然后,程序通过 `scanf()` 函数读取用户输入的字符串,并使用 `strlen()` 函数获取字符串的长度。
接下来,程序使用 `for` 循环遍历字符串中的前一半字符,分别与其对应的后一半字符进行比较,如果不相同,则将 `flag` 标记为 1,并跳出循环。
最后,根据 `flag` 的值输出判断结果。
需要注意的是,这个程序只能判断不带空格的回文字符串,如果输入的字符串中包含空格,需要使用其他方法去除空格后再进行判断。