//读入一组整数并把它们存入一个vector对象,将每对相邻整数的和输出出来。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v_int;
int i_val;
cout << "请输入一组数字: " << endl;
while (cin >> i_val)
v_int.push_back(i_val);
if (v_int.size() == 0)
{
cout << "没有任何元素 " << endl;
return -1;
}
cout << "相邻两项的和依次是: " << endl;
//利用decltype推断i的类型
for (decltype(v_int.size()) i = 0; i < v_int.size()-1; i+=2 )
{
//求相邻两项的和
cout << v_int[i] + v_int[i + 1] << " ";
//每行输出5个数字
if ((i + 2) % 10 == 0)
cout << endl;
}
//如果是奇数,单独处理最后一个元素
if (v_int.size() % 2 != 0)
cout << v_int[v_int.size() - 1];
cout << endl;
system("pause");
return 0;
}
//改写上面的程序,这次要求先输出第1个和最后一个元素的和,接着输出第二个和倒数第二个元素的和,以此类推
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v_int;
int i_val;
cout << "请输入一数字: " << endl;
while (cin >> i_val)
v_int.push_back(i_val);
if (v_int.size() == 0)
{
cout << "输入有误,没有任何元素: " << endl;
return -1;
}
cout << "首尾两项的和依次是: " << endl;
//遍历整个v_int对象
for (decltype(v_int.size()) i = 0; i < v_int.size() / 2; ++i)
{
//求首尾两项的和
cout << v_int[i] + v_int[v_int.size()-1 - i] << " ";
//每行输出5个数
if ((i + 1) % 5 == 0)
cout << endl;
}
//如果是奇数,单独处理最后一个人元素
if (v_int.size() % 2 != 0)
cout << v_int[v_int.size() / 2]<<endl;
//cout << endl;
system("pause");
return 0;
}