如何解决C ++ Primer 5th Edition练习3.20向向量添加元素
我刚刚从C-Prime 5th Edition开始学习C ++。在问题3.20中,“将一组整数读入向量。打印每对相邻元素的总和”。我按如下方式完成代码,但是我的终端不执行摘要代码。我仍然无法弄清楚我的VSCode是否存在问题,或者我的代码在某处有错误并溢出。当我尝试在push_back工作时打印出某些内容时,并且没有问题,没有错误消息,代码只是在向我猜测的向量中添加了元素之后才停止。
#include <iostream>
using namespace std;
#include <string>
#include <vector>
int main()
{
vector<int> a;
int b;
while(cin >> b)
{
a.push_back(b);
}
for (decltype(a.size())c = 0; c < (a.size() - 1); ++c)
{
auto d = a[c] + a [c+1];
cout << "sum of " <<a[c]<<" and "<<a[c+1]<<" is: "<<d<<endl;
d = 0;
}
system("pause");
return 0;
}
输入:1 2 3 4 5 然后代码停止。 谢谢你。
解决方法
您需要一种停止程序的方法。该程序不知道您要输入多少个数字。也许编写一个for循环,该循环仅迭代5次,因此您将获得5个输入,如下所示:
int b;
for (int i = 0; i < 5; ++i)
{
cin >> b;
a.push_back(b);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。