题目:
这里提供两种方法: 方法一注意事项; 1.word数组长度开大一点,否则出现段错误(200时会出现段错误) 2.用getchar吃掉\n不要用fflush(stdin)solve1:
#include#include struct line{ char line[500]; int last;}s[101];int main(){ int n,i; scanf("%d",&n); getchar(); for(i=0;i =0&&s[i].line[s[i].last--]==v)++i; if(i==n)word[j++]=v; else break; i=1; if(s[0].last<0)break; } if(!j)printf("nai"); while(j)printf("%c",word[--j]); return 0;}
————————————————
solve2
#include#include int main(){ int n,mini=9999,tag=1,i; char s[300]; scanf("%d",&n); getchar(); gets(s); while(--n) { char cur[300]; gets(cur); int ls=strlen(s)-1,lc=strlen(cur)-1; while(ls>=0&&lc>=0&&s[ls]==cur[lc]) { ls--;lc--; }; int len=strlen(s)-ls-1; if(!len) { printf("nai"); tag=0;break; } if(mini>len)mini=len; } if(tag) for(i=strlen(s)-mini;i