/*
请输入字符串:12021
12021:是.
请输入字符串:1
1:是.
请输入字符串:12
12:不是.
请输入字符串:1233
1233:不是.
请输入字符串:12211221
12211221:是.
请输入字符串:^Z
Press any key to continue
*/
#include
#include
int main() {
int s,i,flag;
char a[100];
while(printf("请输入字符串:"),scanf("%s",a) == 1) {
s = strlen(a);
flag = 1;
for(i = 0; i < s/2 && flag; i++)
if(a[i] != a[s - i - 1])
flag = 0;
if(flag) printf("%s:是.\n",a);
else printf("%s:不是.\n",a);
fflush(stdin);
}
return 0;
}
你的结构有问题,建议设定一个标记变量int j=1,0表示非回文,1表示回文,在for循环中一旦首尾不匹配就将j值改为0,break跳出,否则继续;循环结束后判断是否为0,j=0,不是回文,j=1,是回文