需要比较整个字符串然后得到结论输出yes而不是只判断了一个字符相等就输出
#include<stdio.h>#include<string.h>
const int maxn=256
int main(){ int i char str[maxn] int len,b
scanf("%s",str) len=strlen(str) //输入完了字符串再计算长度,不能在输入之前算
for(i=0,b=1i<=len/2i++)
if(str[i]!=str[len-i-1]){ b=0 break } //如果发现不相等则判定不是回文
if ( b!=0 ) printf("yes") else printf("no") //等循环完毕再得出结论
return 0 //main前面有int修饰,因此必须返回整型值
}
我看了下逻辑不对,还有些语法错误,我修改了下可以运行,有问题追问我。#include<stdio.h>
#include<string.h>
int
main()
{
int
n=0,j,t=0,s
char
a[100]
while(scanf("%d",&s)!=EOF)
{
scanf("%s",a)
n=strlen(a)
for(t=0,j=0j<n/2j++)
{
if(a[j]==a[n-1-j])
{
t++
}
else
{
break
}
}
if(t==(n/2
-
1)||t==n/2)
{
printf("Yes\n")
}
else
{
printf("no\n")
}
}
return
0
}