#include <bits/stdc++.h> using namespace std; bool cmp(string s1,string s2){ return s1.length()<s2.length(); } int main() { string nn; while(getline(cin,nn)){ int n = atoi(nn.c_str()); string s=""; vector<string>v; while(n--){ getline(cin,s); if(s == "stop"){ break; } v.push_back(s); } sort(v.begin(),v.end(),cmp); for(auto a:v) cout<<a<<endl; } } // 64 位输出请用 printf("%lld")
cin和getline联用要小心,cin会把行末的\n留给下一次输入