回文串问题,求助。
题目就是回文串的问题代码如下:
程序代码:
#include<stdio.h> #include<string.h> int main(){ int i,j; int flag=1; char str[256]; gets(str); j=strlen(str); for(i=0;i<j/2;i++){ if(str[i]!=str[j-1-i]){ flag=0; } } if(flag==1) printf("YES"); else printf("NO"); return 0; }代码在系统上过了,但是我输入上海自来水来自海上的时候他输出的是NO.
-----------------------------------------------
我以前写的是这个,程序报的是C2100错误讲是数组越界没明白,求助大佬指点一下
程序代码:
#include<stdio.h> #include<string.h> int main33(){ int i; int flag=0; int time=0; char * front,back; char str[20]=" "; gets(str); front=str; back=&str[strlen(str)-1]; while((*front)==(*back)&&time<strlen(str)/2){ front++; back--; time++; } if(time==strlen(str)/2) flag=1; if(flag==1) printf("YES"); else printf("NO"); return 0; }