垃圾PTA:7-3 输出数组元素 (15分)

本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。

输入格式:

输入的第一行给出正整数n(1<n10)。随后一行给出n个整数,其间以空格分隔。

输出格式:

顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。

输入样例:

10
5 1 7 14 6 36 4 28 50 100
 

输出样例:

-4 6 7
-8 30 -32
24 22 50

 

最近补修C语言,跟大一的学弟们同台竞技.....

然后最近正好在学C++,突发奇想用C++写这个作业。正好学到迭代器和向量,直接就学以致用!

但是确实代码复杂了不少,但我感觉迭代器我会了!

PTA上面不允许上传c++代码,于是我只能够直接抄网上代码了!

然后把C++代码放出来给大家白嫖学习~

 

#include <iostream>
#include <vector>

using namespace std;
vector<int> vec;
vector<int> temp_vec;
vector<vector<int>> ttemp_vec;

int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int a;
        cin>>a;
        vec.push_back(a);
    }
    for(vector<int>::iterator i = vec.begin();i !=vec.end();i++)
    {
        int a=*i;
        int b = *(i+1);
        if(i+1 != vec.end())
        {
            temp_vec.push_back(b-a);
            if(temp_vec.size() == 3)
            {
                ttemp_vec.push_back(temp_vec);
                temp_vec.clear();
            }
        }
    }
    for(auto i = ttemp_vec.begin();i !=ttemp_vec.end();i++)
    {
        vector<int> ele = *i;
        for(vector<int>::iterator j = ele.begin();j !=ele.end();j++)
        {
            cout<<*j;
            if(j+1 != ele.end())
            {
                cout<<" ";
            }
        }
        if(i+1 != ttemp_vec.end())
        {
            cout<<endl;
        }
    }
    return 0;
}
 

你嫖嫖我,我嫖嫖你,大家都是白嫖人!

posted on 2020-12-13 23:44  大湿Mastwet  阅读(272)  评论(0编辑  收藏  举报

导航