#include<stdio.h> #include<string.h> #define maxsize 1000 int main() { int n, a, b; char string[maxsize][maxsize]; char str[maxsize]; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%s", string[i]); for (int j = 0; j < n - 1; j++) { //冒泡排序 for (int i = 0; i < n - 1 - j; i++) { a = strlen(string[i]); b = strlen(string[i + 1]); if (a > b) { strcpy(str, string[i]); strcpy(string[i], string[i + 1]); strcpy(string[i + 1], str); } else if (a == b && strcmp(string[i + 1], string[i]) < 0) { strcpy(str, string[i]); strcpy(string[i], string[i + 1]); strcpy(string[i + 1], str); } } } for (int i = 0; i < n; i++) { printf("%s \n", string[i]); } return 0; }