沐沐Mnn
2019-04-28 12:00
采纳率: 72.7%
浏览 765

C++编程填空:正向与反向输出

描述

输入一个的序列,首先输出原序列,每个元素之间以"---"分开

再将序列的每个元素翻倍,并逆序输出原序列,每个元素之间以"***"分开。
#include <cstring>
#include <cstdlib>
#include <string>
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;
class C1{
// 在此处补充你的代码
};

int main()
{
    vector<int> v;
    int p;
    int size;
    int k;
    cin >> k;
    while(k--){
        cin >> size;
        v.clear();
        for(int i = 0; i < size; ++i){
            cin >> p;
            v.push_back(p);
        }
        C1 o1 = C1(size,v);
        ostream_iterator<int> it(cout,"---");
        copy(*o1, (*o1)+size, it);
        cout<<endl;
        for(int i = 0; i < size; ++i){
            o1[i]*=2;
            cout<<o1[i]<<"***";
        }
        cout<<endl;
    }

}
输入
第一行是测试数据组数k。
对于每组测试数据,先输入
测试数据共有k组,每组首先输入序列长度n,接下来n个整数分别代表序列的n个数。
输出
对于每组测试数据输出两行,分别是以"---"分割的原序列,和以"***"分割的翻倍后的逆序序列。

样例输入

1
10
1 2 3 4 5 6 7 8 9 10

样例输出

1---2---3---4---5---6---7---8---9---10---
20***18***16***14***12***10***8***6***4***2***

http://cxsjsx.openjudge.cn/2018midexamcloze/6/

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题