高手帮我看下面一个C++关于vector的程序。

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:21:43
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void main()
{
int i;
char cha;
vector<int> iver;
cout << "请输入一组整数。" << endl;
while (cin >> i)
{
iver.push_back(i);
}
if (iver.size()%2==1)
{
cout << "读入元素的个数为奇数,最后一个元素没有求和." << endl;
}
//int j = iver.size() / 2;
for (i = 0; i < (iver.size()-1); i++)
{
cout << "第" << i+1 << "个整数和第" << i+2 << "个整数之和为 " << (iver[i] + iver[i+1]) << endl;
i++;
}
cout << "是否要继续(Y/N)?" << endl;
cin >> cha;
if (cha == 'Y' || cha == 'y')
{
cin >> i;
iver.push_back(i);
for (i = 0; i < (iver.size()-1); i++)
{
cout << "第" <<

当输入输出流出现错误时,常常如此。
你的程序
while (cin >> i)
{
iver.push_back(i);
}
是死循环,怎么解决?
你在处理时可能已经给输入流带来错误了。
那么在
cin>>cha;前插入一条语句清除这个错误
cin.clear();
cin>>cha;