返回信息流求大牛解释![em9]
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec;
vector<int> sum;
int element;
cout << "enter the integers to be added:" << endl;
while (cin >> element) //怎样跳出这个循环??
ivec.push_back(element);
for (vector<int>::size_type i = 0; i != ivec.size()/2; i += 2)
sum[i] = ivec[i] + ivec[ivec.size() - 1 - i];
if (ivec.size() % 2) //元素为奇数个
{
cout << "the number of integers is odd, and the last integer is unsummed." << endl;
cout << "the result is: ";
for (vector<int>::size_type j = 0; j != sum.size(); j++)
cout << sum[j] << ivec[ivec.size() - 1] << endl;
}
else
{
for (vector<int>::size_type n = 0; n != sum.size(); n++)
cout << sum[n] << endl;
}
return 0;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #44710同步于 2010/10/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
怎样跳出while (cin >> element)循环??
dodoro
2010/10/12镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
非int类型,a,1.1,Ctrl+z...
【 在 dodoro 的大作中提到: 】
: 求大牛解释!
: #include <iostream>
: #include <vector>
: ...................
求解啊求解!
【 在 dodoro 的大作中提到: 】
: 求大牛解释![em9]
: #include <iostream>
: #include <vector>
: ...................
【 在 dodoro 的大作中提到: 】
: 我试过了,可是这样的话就结束程序看不了结果了呀?。。
: 【 在 a206206 的大作中提到: 】
: : 随便输个字母就可以了
: ...................
你没看报错么,说下标不合法,你程序写的有问题,把vector下标换成at就可以捕获错误了
哦!多谢指教,我试试看!
【 在 a206206 的大作中提到: 】
: 你没看报错么,说下标不合法,你程序写的有问题,把vector下标换成at就可以捕获错误了
for (vector<int>::size_type i = 0; i != ivec.size()/2; i += 2) 这个地方逻辑错误。比如你输入3个数,看看你的是不是死循环?
还有,往vector增加新元素不能像访问数组那样用下标,那样并不能增加任何新元素到你的容器中,把sum[i] = ivec[i] + ivec[ivec.size() - 1 - i]; 换成 sum.push_back( ivec[i] + ivec[ivec.size() - 1 - i]);