#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { int n=0,i=0,j=0,p=0,q=0,k=0,len=0; char f[1000][20],temp[20]="\0",*ret; char fn[1001][20]; while(scanf("%d",&n)!=EOF&&n!=0) { i=j=k=0; for(i=0;i<n;i++) { scanf("%s",f[i]); getchar(); } for(int i =0;i<n;i++) { for(int k =0;k<n;k++) { if(k != i) { ret = strstr(f[i],f[k]); if(ret == f[i]) { int len = strlen(f[i]); if(f[i][len-1] == 'e'&f[i][len-2]=='x'&&f[i][len-3]=='e'&&f[i][len-4]=='.') { strcpy(fn[j++],f[i]); break; } } } } } /* for(i=0;i<n;i++) { if(strstr(f[i],".exe")!=NULL) { for(k=0;k<n;k++) { if((k!=i)&&(strstr(f[i],f[k])!=NULL)); { strcpy(fn[j],f[i]); j++; break; } } } }*/ for(p=0;p<j;p++) { for(q=j-1;q>p;q--) { if(strcmp(fn[q],fn[q-1])<0) { strcpy(temp,fn[q]); strcpy(fn[q],fn[q-1]); strcpy(fn[q-1],temp); } } } for(k=0;k<j;k++) { printf("%s\n",fn[k]); /* for(i=0;i<n;i++) { if((strstr(fn[k],f[i])!=NULL)&&(strcmp(fn[k],f[i])!=0)) printf("%s\n",fn[k]); }*/ } } return 0; } |
Double click to view unformatted code.