先用getline(cin,line),再用stringstream输入
记录最长的单词的长度,输出时注意空格数量
#include <bits/stdc++.h>
using namespace std;
int main(){
int line_cnt=0,word_size[200];
vector<string> all[1005];
string line,s;
memset(word_size,0,sizeof(word_size));
while(getline(cin,line)){
stringstream ss(line);
int word_cnt=0;
while(ss>>s){
int len=s.size();
word_size[word_cnt]=max(len,word_size[word_cnt]);
word_cnt++;
all[line_cnt].push_back(s);
}
line_cnt++;
}
for(int i=0;i<line_cnt;i++){
for(int j=0;j<all[i].size();j++){
cout<<all[i][j];
if(j==all[i].size()-1) break;
for(int k=0;k<word_size[j]-all[i][j].size();k++){
cout<<' ';
}
cout<<' ';
}
cout<<endl;
}
return 0;
}