自己写的。C语言。思路还算简洁。题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
#include<stdio.h>
#include<math.h>
int main() {
    int n, i, j, temp;
    double min;
    scanf("%d", &n);
    char line[n][102];
    double weight[n];
    for (i = 0; i < n; i++) {
        scanf("%s", line[i]);
    }
    for (i = 0; i < n; i++) {
        weight[i] = 0;
        j = 0;
        while (line[i][j] != '\0') {
            if (line[i][j] <= 'Z') {
                temp = line[i][j] - 'A';
            } else {
                temp = line[i][j] - 'a' + 26;
            }
            weight[i] += temp * pow(52, (99 - j));
            j++;
        }
    }
    while (1) {
        min = pow(52, 102);
        for (i = 0; i < n; i++) {
            if (weight[i] < min) {
                min = weight[i];
            }
        }
        if (pow(52, 102) - min < 1) {
            break;
        }
        for (i = 0; i < n; i++) {
            if (weight[i] - min < 1) {
                printf("%s\n", line[i]);
                weight[i] = pow(52, 102);
                i = n;
            }
        }
    }
    return 0;
}
 投递大连飞创信息技术有限公司等公司10个岗位
投递大连飞创信息技术有限公司等公司10个岗位
