一个简单的C++问题(急,在线等!)

#include<iostream.h>#include<string.h>intf(chars[]){intn1,n2,j=0,i,n3;chars2[80];n1=s... #include<iostream.h>
#include<string.h>
int f(char s[])
{
int n1,n2,j=0,i,n3;
char s2[80];
n1=strlen(s);
for(i=0;i<n1;i++)
{
if(s[i]>='a'&&s[i]<='z')
s2[j++]=s[i];
if(s[i]>='A'&&s[i]<='Z')
s2[j++]=char(int(s[i])+32);
}
s2[j]=0;
n2=strlen(s2);
n3=n2/2;
for(j=0;j<n3;j++)
if(s2[n1-j]!=s[j])break;
if(j==n3) return 0;
else return 1;
}
void main()
{
char s[80]="Madam,I'm Adam";
if(f(s)==0)
cout<<"Yes";
else
cout<<"No";
}
忽略大小写,空格,标点,判断是不是回文数,为什么最后判断出来时NO?
展开
 我来答
Eli2021
2011-05-23 · TA获得超过664个赞
知道小有建树答主
回答量:1266
采纳率:72%
帮助的人:342万
展开全部
if(s2[n1-j]!=s[j])break; 改为 if(s2[n2-j-1]!=s2[j])break;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式