读一组整数到vector对象,用迭代器计算并输出每对相邻元素的和。但是输入最后一组的和不会输出.
题目:读一组整数到vector对象,使用迭代器访问vector中的元素。计算并输出每对相邻元素的和。如果读入的元素个数为奇数,则提示用户最后一个元素没有求和并输出其值;#...
题目:读一组整数到vector对象,使用迭代器访问vector中的元素。计算并输出每对相邻元素的和。如果读入的元素个数为奇数,则提示用户最后一个元素没有求和并输出其值;
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>::iterator n;
int s;
vector<int> z;
while(cin >> s)
z.push_back(s);
if(z.size()%2!=0)
cout << z[z.size()-1] << endl;
else
{
for(n=z.begin();n!=z.end()-2;n+=2)
{
cout <<(*n)+(*(n+1))<< "\n";
}
}
system("PAUSE");
return 0;
}
输出的最后一对值不会输出和..怎么办..
输入的最后一对值不会输出和 展开
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>::iterator n;
int s;
vector<int> z;
while(cin >> s)
z.push_back(s);
if(z.size()%2!=0)
cout << z[z.size()-1] << endl;
else
{
for(n=z.begin();n!=z.end()-2;n+=2)
{
cout <<(*n)+(*(n+1))<< "\n";
}
}
system("PAUSE");
return 0;
}
输出的最后一对值不会输出和..怎么办..
输入的最后一对值不会输出和 展开
2个回答
展开全部
for(n=z.begin();n!=z.end()-1;n+=2)
追问
哥们这样会溢出的...
追答
改成
for(n=z.begin();n!=z.end();n+=2)
就对了。
完整的代码:
#include
#include
using namespace std;
int main()
{
vector::iterator n;
int s;
vector z;
while(cin >> s&&s!=0)//以输入0为结束条件,抱歉我实在不知你的结束条件是什么
z.push_back(s);
if(z.size()%2!=0)
cout << z[z.size()-1] << endl;
else
{
for(n=z.begin();n!=z.end();n+=2)
{
cout <<(*n)+(*(n+1))<< "\n";
}
}
system("PAUSE");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询