一、题目
二、分析
使用cin>>op方式读入每个单词,用sum记录当前行总的字母数。
若刚输入的单词字母数加上当前行的字母数大于k,则先输出回车再输出单词,并更新sum。
若刚输入的单词字母数加上当前行的字母数不大于k,则输出单词(若此时sum非零,则需要先输出一个空格),并更新sum。
三、代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, k, sum = 0;
cin >> n >> k;
string op;
for (int i = 1; i <= n; i++)
{
cin >> op;
if (sum + op.size() <= k)
{
if (sum != 0)
cout << " ";
cout << op;
sum += op.size();
}
else
{
cout << endl
<< op;
sum = op.size();
}
}
return 0;
}