#include <stdio.h> #include <string.h> typedef struct node{ char ch[20]; }node; int main(void) { int n; while(scanf("%d",&n) != EOF && n) { int i,j,index1 = 0,index2 = 0; char s[20],s1[20],s2[20],str[1000][20]; node exe[1000]; for(i = 0;i < n;i++) { int k = 0; scanf("%s",s); if(strlen(s) < 5) { strcpy(str[index1++],s); } else { for(j = strlen(s) - 4;j < strlen(s);j++) { s1[k++] = s[j]; } strncpy(s2,s,strlen(s) - 4); s2[strlen(s) - 4] = '\0'; s1[k] = '\0'; if(strcmp(s1,".exe") == 0) { strcpy(exe[index2++].ch,s2); } else { strcpy(str[index1++],s); } } } for(i = 0;i < index2;i++) { char max[20]; strcpy(max,exe[i].ch); for(j = i + 1;j < index2;j++) { if(strcmp(max,exe[j].ch) > 0) { strcpy(exe[i].ch,exe[j].ch); strcpy(exe[j].ch,max); strcpy(max,exe[i].ch); } } } for(i = 0;i < index2;i++) { for(j = 0;j < index1;j++) { if(strcmp(exe[i].ch,str[j]) == 0) { printf("%s",exe[i].ch); printf(".exe\n"); break; } } } } return 0; } |
Double click to view unformatted code.