用C语言编写,判断输入的字符串是否是回文字符串,如果是则打印该字符串。
时间: 2024-02-16 22:04:58 浏览: 54
可以使用双指针法来判断一个字符串是否是回文字符串,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j, len, flag = 1;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
for(i = 0, j = len-1; i < j; i++, j--)
{
if(str[i] != str[j])
{
flag = 0;
break;
}
}
if(flag)
printf("%s 是回文字符串", str);
else
printf("%s 不是回文字符串", str);
return 0;
}
```
其中,`gets()` 函数用于读取字符串,`strlen()` 函数用于计算字符串长度。双指针法通过两个指针分别从字符串的两端开始,向中间移动并比较对应位置上的字符是否相等。如果存在不相等的情况,则说明该字符串不是回文字符串。如果一直比较到两个指针相遇都没有发现不相等的情况,则说明该字符串是回文字符串。
相关问题
编写C语言程序判断输入字符串是否是回文
以下是一个简单的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; i++)
{
if(str[i] != str[len - 1 - i])
{
flag = 1;
break;
}
}
if(flag)
{
printf("%s 不是回文字符串\n", str);
}
else
{
printf("%s 是回文字符串\n", str);
}
return 0;
}
```
该程序首先要求用户输入一个字符串,然后使用 strlen 函数获取字符串的长度,接着使用 for 循环遍历字符串,判断字符串是否是回文。如果字符串是回文,则输出“是回文字符串”,否则输出“不是回文字符串”。
用c语言编程,判断输入的字符串是否为回文字符串,如果是则输出该字符串
好的,让我来回答您的问题。以下是使用 C 语言编写的判断回文字符串的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main()
{
char str[MAX_LEN + 1];
int i, j;
int is_palindrome = 1; // 默认是回文字符串
printf("请输入一个字符串: ");
scanf("%s", str);
// 判断是否为回文字符串
for (i = 0, j = strlen(str) - 1; i < j; i++, j--)
{
if (str[i] != str[j])
{
is_palindrome = 0; // 不是回文字符串
break;
}
}
// 输出结果
if (is_palindrome)
{
printf("%s 是回文字符串\n", str);
}
else
{
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
以上代码使用了一个 char 数组来保存用户输入的字符串,定义了一个 is_palindrome 变量来表示该字符串是否为回文字符串,使用了 for 循环和两个指针 i 和 j 来遍历字符串,并在遍历过程中判断该字符串是否为回文字符串。最后根据 is_palindrome 变量的值输出结果。
希望我的回答能够帮助您,如果您还有其他问题需要解答,请随时向我提问。