输入一个以回车符结束的字符串(<100),判断该字符是否为为回文?(回文指字符串中心对称,如“abcba”,"abccba")。
#include <stdio.h>
//判断回文
int main()
{
char s[100];
int i=0,j,n,flag=0;
while ((s[i]=getchar())!='\n')
i++;
n=(i%2==0)?i/2:i/2+1;
for (j=0;j<n;j++)
{
if (s[j]!=s[i-j-1])
{
flag=1;
break;
}
}
if (flag==0)
{
printf("yes");
}else
{
printf("no");
}
return 0;
}
单引号里面是“单个字符”,实际上是以一个整数表示的(ASCII),而双引号内部则是表示指向一个字符串数组的指针。因此在判断是否输入完毕时,注意不是“\n”而是'\n'。