#include <stdio.h> #include <string.h> const int SIZE = 100; const int LENGTH = 25; // strcmp(a,b) <0:a的字典序小于b // strcmp(a,b) =1:a和b一样 // strcmp(a,b) >0:a的字典序大于b int main( ) { char dict[SIZE][LENGTH + 1]; int rank[SIZE]; int ind[SIZE]; int i, j, n, tmp; scanf("%d", &n); for (i = 1; i <= n; i++) { rank[i] = i ind[i] = i; scanf("%s", dict[i]); } for (i = 1; i < n; i++) for (j = 1; j <= n - i; j++) if (strcmp(dict[ind[j]], dict[ind[j + 1]]) > 0) { tmp = ind[j]; ind[j] = ind[j + 1]; ind[j + 1] = tmp; } for (i = 1; i <= n; i++) rank[ind[i]] = i; for (i = 1; i <= n; i++) ptintf("%d", rank[i]); printf("\n"); return 0; }
输入:
7
aaa
aba
bbb
aaa
aaa
ccc
aa
输出:__1____