C语言判断回文字符串
时间: 2023-12-13 15:04:39 浏览: 33
判断回文字符串的C语言代码如下所示:
```c
#include <stdio.h>
#include <string.h>
int main() {
char a[100] = {0};
gets(a); //输入字符数组
int len = strlen(a)-1; //取得数组长度
int i = 0;
while (i < len) {
if (a[i] != a[len]) //从数组的两头向中间逐步判断是否相同
break; //如果不同则直接退出
i++;
len--;
}
puts(a);
if (i>=len) //i如果小于len则说明提前退出即不是回文数组
printf("Yes");
else
printf("No");
return 0;
}
```
相关问题
c语言判断回文字符串
判断回文字符串的方法是将字符串正着读和反着读都能得到相同的结果,下面是一个使用C语言实现的判断回文字符串的例子:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
for(i = 0; i < len; i++)
{
if(str[i] != str[len - i - 1])
{
flag = 1;
break;
}
}
if(flag)
{
printf("%s 不是回文字符串\n", str);
}
else
{
printf("%s 是回文字符串\n", str);
}
return 0;
}
```
在这个程序中,我们先输入一个字符串,然后使用strlen函数计算出字符串的长度,接着使用for循环遍历字符串中的字符,如果发现字符串正着读和反着读得到的结果不同,就将flag设置为1,然后判断flag的值,输出相应的结果。
c语言判断回文字符串代码
好的,下面是判断回文字符串的 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j;
int flag = 1;
printf("请输入字符串:");
scanf("%s", str);
for (i = 0, j = strlen(str) - 1; i < j; i++, j--)
{
if (str[i] != str[j])
{
flag = 0;
break;
}
}
if (flag)
printf("是回文字符串\n");
else
printf("不是回文字符串\n");
return 0;
}
```
这个代码先读入一个字符串,然后用两个指针 `i` 和 `j` 分别从字符串的两端开始向中间遍历,如果发现两个字符不相同,则说明这不是一个回文字符串,将 `flag` 变量设为 0 并跳出循环,否则就一直遍历到中间位置,此时 `flag` 仍然为 1,说明这是一个回文字符串。