C++primer5 3.20a

读入一组整数并把它们存入一个vector对象,将每对相邻整数的和输出出来。改写程序,这次要求先输出第1个和最后1个元素的和,接着输出第2个和倒数第2个元素的和,一次类推

//3.20  
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    vector<int> ivec;
    for (int i; cin >> i; ivec.push_back(i));//读入一组整数存入vector对象,循环体为空,ctrl+Z代表cin输入结束,再按enter

    if (ivec.empty())
    {
        cout << "input at least one integer." << endl;
        return -1;
    }
    if (ivec.size() == 1)
    {
        cout << "only one integer " << ivec[0] << ", it doesn't have any adjacent elements." << endl;
        return -1;
    }

    for (int i = 0; i < ivec.size() - 1; ++i)
        cout << ivec[i] + ivec[i + 1] << " ";//将每对相邻整数的和输出
    cout << endl;
    system("pause");
    return 0;
}
//3.20b
#include <iostream>
#include <vector>
using std::vector;using std::cout;using std::endl;using std::cin;
int main()
{
    vector<int> ivec;
    for (int i; cin >> i; ivec.push_back(i));//将一组数存入vector对象,ctrl+Z代表cin结束输入,再按enter

    if (ivec.empty())
    {
        cout << "input at least one integer." << endl;
        return -1;
    }

    //如果vector的大小是奇数值,中间那个元素加上它自己本身
    auto size = (ivec.size() + 1) / 2;

    for (int i = 0; i != size; ++i)
        cout << ivec[i] + ivec[ivec.size() - 1 - i] << " ";//输出两端元素的和
    cout << endl;
    system("pause");
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值