返回信息流我最近在刷题,链接如下:http://ac.jobdu.com/problem.php?pid=1135
我写的代码如下:
#pragma warning(disable:4786)
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(string x,string y)
{
return x.size()<y.size();
}
int main()
{
int n,i;
while(cin>>n&&n)
{
cin.ignore();
vector<string> vc;
vc.reserve(n);
string str;
for(i=0;i<n;i++)
{
getline(cin,str);
cout<<str<<endl;
if(str.compare("stop")==0)
break;
vc.push_back(str);
}
sort(vc.begin(),vc.end(),cmp);
for(vector<string>::iterator i=vc.begin();i!=vc.end();i++)
cout<<*i<<endl;
}
return 0;
}
我的问题是:在for循环中,比如说我第一次cin输入了某个字符串存入了str中,然后执行下一行,按理说应该将str的内容打印出来,可是并没有达到预期的结果,而是程序在我第二次进入for循环,才把第一次for循环形成的str打印出来。也就是第二次for循环打印第一次的str,第三次for循环打印第二次的str,以此类推,这是为什么呢?求大神指点~谢谢
这是一条镜像帖。来源:北邮人论坛 / cpp / #84258同步于 2014/11/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
OJ上一道题
Li8630
2014/11/23镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。