编写程序,判断给定字符串是否为回文。(回文是指正读和逆读 都一样的字符串) 不知道错在哪里了〒_〒

#include<stdio.h>#include<string.h>intmain()ints,i;chara[100];printf("请输入字符串\n");scan... #include <stdio.h>
#include<string.h>
int main()
int s,i;
char a[100];
printf("请输入字符串\n");
scanf("%s",a);
s=strlen(a);
for(i=0;i<s;i++)
{
if(a[i]!=a[s-i-1])
{
printf("不是回文");
break;
}
}
if(i=s)
printf("是回文");
return 0;
}
展开
 我来答
xoaxa
2014-04-18 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3523万
展开全部

/*

请输入字符串:12021

12021:是.

请输入字符串:1

1:是.

请输入字符串:12

12:不是.

请输入字符串:1233

1233:不是.

请输入字符串:12211221

12211221:是.

请输入字符串:^Z


Press any key to continue

*/

#include <stdio.h>
#include <string.h>

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;
}
追问
fflush(stdin);这是什么?我刚学不久
追答
fflush(stdin); 清除键盘输入缓冲区,这个函数通常用在读入字符(%c)和读入字符串(%s)之前。
red100green
2014-04-18 · 超过10用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:26.9万
展开全部
你的结构有问题,建议设定一个标记变量int j=1,0表示非回文,1表示回文,在for循环中一旦首尾不匹配就将j值改为0,break跳出,否则继续;循环结束后判断是否为0,j=0,不是回文,j=1,是回文
更多追问追答
追问
后面的懂了 可是结构有什么问题呢  改了之后还是不对的  这地方老师刚讲不知道是不是忘了哪个语句了〒_〒
追答
哪个地方不对,是编译报错还是运行结果错误?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式