C语言判断一串字符是否为回文串

Python029

C语言判断一串字符是否为回文串,第1张

需要比较整个字符然后得到结论输出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

}