#include <stdio.h> #include <string.h> #define N 1000 #define M 20 int main() { int n, i, j, len, k = 0, l = 0, s; char data[N][M] = {'0'}; while(scanf("%d", &n) != EOF && n != 0){ char EXE[N][M] = {'0'}; char real[N][M] = {'0'}; char out[N][M] = {'0'}; char temp[M]; for(i = 0; i < n; i++){ scanf("%s", data[i]); len = strlen(data[i]); if(data[i][len - 1] == 'e'){ strcpy(EXE[k], data[i]); strcpy(real[k], data[i]); EXE[k][len - 4] = '\0'; k++; } } for(i = 0; i < n; i++){ for(j = 0; j < k; j++){ if(strcmp(EXE[j], data[i]) == 0){ strcpy(out[l++], real[j]); } } } for(i = 0; i < l - 1; i++){ s = i; for(j = i; j < l; j++){ if(out[j][1] < out[s][1]){ s = j; } } if(s != i){ strcpy(temp, out[s]); strcpy(out[s], out[i]); strcpy(out[i], temp); } } for(i = 0; i < l; i++){ printf("%s\n", out[i]); } } return 0; } |
Double click to view unformatted code.