Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:Latest! 大侠帮帮忙,怎么wa了呢?In Reply To:Latest! 大侠帮帮忙,怎么wa了呢? Posted by:emperorlu at 2007-08-27 22:41:08 > #include<stdio.h> > #include<string.h> > int f(char a[],char b[]) > { > int i,j,temp,flag; > for(i=0,temp=0,flag=0;i<strlen(b);i++) > { > for(j=temp;j<strlen(a);j++) > { > if(a[j]==b[i]) > { > temp=j+1; > break; > } > } > if(j==strlen(a)) > { > flag=1; > break; > } > } > return flag; > } > int main() > { > int i,j,n,flag1,flag2; > char a[100],b[100],c[100]; > scanf("%d",&n); > while(n--) > { > scanf("%s%s",a,b); > flag1=f(a,b); > if(flag1==0)printf("YES\n"); > else > { > for(i=strlen(b)-1,j=0;i>=0;i--,j++) > { > c[j]=b[i]; > } > flag2=f(a,c);//就这出现错误了,你的C会有100多个字符传到函数中去,因此循环的时候就会错误,应该另写一个函数,或把你的那个函数修改一下改成两个版本,加一个传递字符长度的函数即可 > if(flag2==0)printf("YES\n"); > else printf("NO\n"); > } > } > return 0; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator