#include
#include
int main(){
int i,*pi,l,*pl,mark,*pmark;
pi=&i;
pl=&l;
pmark=&mark;
char str[100000],*pstr;
pstr=str;
while((scanf("%s",pstr)!=EOF)&&strcmp(str,"2013")!=0){
pl=strlen(pstr);
mark=1;
for(*pi=0;*pi<(l/2);*pi++){
if((pstr+i)!=*(pstr+(*pl-*pi-1))){
mark=0;
break;
}
}
if(mark){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return 0;
}

c语言,回文序列的判断,runtime error 求大神解答
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 有点方呀 2018-05-23 01:13关注
#include
#include
#include
int main() {
int i,*pi,l,*pl,mark,*pmark;
pi=&i;
pl=&l;
pmark=&mark;
char str[100000],*pstr;
pstr=str;while((scanf("%s",pstr)!=EOF)&&strcmp(str,"2013")!=0) { *pl=(int)strlen(pstr); mark=1; for(*pi=0; *pi<(l/2); *pi++) { int temp = (*pl-*pi-1); if((pstr+i)!=(pstr+temp)) { mark=0; break; } } if(mark) { printf("YES\n"); } else { printf("NO\n"); } } return 0;
}//这样可以运行,但是逻辑还需要修改
解决 无用评论 打赏 举报