竞赛讨论区 > 求C题解答,为什么不能通过所有测试。回文串
头像
51020253024陈妍
发布于 01-09 09:02 河南
+ 关注

求C题解答,为什么不能通过所有测试。回文串

#include<stdio.h>#include<string.h>int main(){char s1[1000000];char s2[1000000];int s3[1000000]={0};int flag=0;int num=0,num1=0;int da=0;int k=1;gets(s1);for(int i=0;i<strlen(s1);i++){if((int)s1[i]>=97&&(int)s1[i]<=122){}

    else da=1;
}

// for(int i=0;i<strlen(s2);i++){// printf("%d",s3[i]);// }

if(da!=1){
 s2[0]=s1[0];
for(int i=1;i<strlen(s1);i++){
	flag=0;
	for(int j=0;j<i;j++){
		if(s1[i]==s1[j]){
			flag=1;
		}
		
		
	}
	if(flag==0){
		s2[k++]=s1[i];
	}
	
	
	
}

for(int i=0;i<strlen(s1);i++){
    for(int j=0;j<strlen(s2);j++){
	if(s1[i]==s2[j]){
		s3[j]++;
	}
    }
	
}

if(strlen(s1)%2==0){
for(int i=0;i<strlen(s1);i++){
	if(s3[i]%2!=0){
		num1++;
	}
	
}
    if((num1==1)||(num1==0)){
        num=1;
    }

}else{for(int i=0;i<strlen(s2);i++){if(s3[i]%2!=0){num1++;}

}
if(num1==1)
{
	num=1;
}

}

printf("%d",num);

} 
    
else printf("0");






return 0;

}

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐