# include<stdio.h> #include<iostream> using namespace std; struct stu { string s; int length; }; int main() { int n; while (scanf("%d", &n) != EOF) { struct stu a[n]; char tep = getchar();//吞掉scanf后面的回车换行字符 for (int i = 0; i < n; i++) { getline(cin, a[i].s); if (a[i].s == "stop") { n = i;//结构体缩小 break;退出 } a[i].length = a[i].s.length(); } struct stu temp;//冒泡排序 for (int i = 0; i < n - 1; i++) for (int j = 0; j < n - i - 1; j++) { if (a[j].length > a[j + 1].length) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } for (int i = 0; i < n; i++) { cout << a[i].s << endl; } } }