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:好心人,帮我看一下吧。谢谢!In Reply To:好心人,帮我看一下吧。谢谢! Posted by:yujiashan at 2006-12-09 22:09:36 > 不知道错哪里了。 > 郁闷,在线等... > > #include<iostream.h> > #include<stdlib.h> > #include<string.h> > struct prefix > { > int k; > char str1[22],str2[22]; > }mmd[1000]; > int cmp1(const void *a,const void *b) > { > return strcmp(((prefix*)a)->str1,((prefix*)b)->str2); > } > int cmp2(const void *a,const void *b) > { > return ((prefix*)a)->k-((prefix*)b)->k; > } > int main() > { > int i=0,m1=0,m2=0,j,len,min; > while (cin>>mmd[i].str1) > { > mmd[i].k=i; > i++; > } > len=i; > qsort(mmd,len,sizeof(mmd[0]),cmp1); > for (i=0;i<len;i++) > { > if (i!=len-1) > { > for (j=0;mmd[i].str1[j]!='\0'&&mmd[i+1].str1[j]!='\0';j++) > if (mmd[i].str1[j]!=mmd[i+1].str1[j]) > break; > m2=j; > } > else > m2=0; > min=(m1>m2)?m1:m2; > for (j=0;j<=min;j++) > mmd[i].str2[j]=mmd[i].str1[j]; > mmd[i].str2[min+1]='\0'; > m1=m2; > } > qsort(mmd,len,sizeof(mmd[0]),cmp2); > for (i=0;i<len;i++) > cout<<mmd[i].str1<<" "<<mmd[i].str2<<endl; > return 0; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator