Code Bye

大大们 为什么这样系统没提示,可输入完之后说我错了

 

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
vector<string> s;
string s1;
int i=0;
while (cin>>s1 && s1!=”done”)
{
s.push_back(s1);
}
while (s.begin() != s.end())
{
cout<<s[i]<<” “;
i++;
}
}

20分
最后输出的while循环不对,s.begin()和s.end()都不会变化,所以这是个死循环。
比如可以改成这样:
for (i = 0; i < s.size(); i++)
{
cout << s[i] << ” “;
}
20分
或者改成这样也可以
for (vector<string>::iterator it = s.begin(); it != s.end(); ++it)
{
cout << *it << ” “;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明大大们 为什么这样系统没提示,可输入完之后说我错了