我正试图解决这个问题https://a2oj.com/p?ID=24
我的初始代码(仅测试输入部分)
#include<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int l;
string input;
cin>>l>>input;
string texts[l];
int c=0;
for(int i=0;i<input.size();i++)
{
if(input[i]==' ')
{c++;continue;}
else
{
texts[c]=texts[c]+input[i];
}
}
for(int i=0;i<l;i++)
cout<<texts[i]<<endl;
}
return 0;
}
它的唯一扫描,直到它收到第一个&#39; &#39;(空格),而不是其他子字符串。
答案 0 :(得分:0)
你可以使用getline();
在这段代码中,我使用't'作为分隔符,你可以使用空格“”或任何你想要的
示例代码
#include <iostream.h>
void main()
{
char line[100];
cout << " Type a line terminated by 't'" << endl;
cin.getline( line, 100, 't' );
cout << line;
}