解题思路:
分别用两个vector容器存储输入的数据,把两个数组中要求取出的元素放到一个容器中,最后整体输出
注意事项:
判断要取出的两个数组的元素的个数加起来是否超过了原本的第一个数组的大小,如果没有超过原始大小,那么还要把第一个数组中最后的元素输出
记得最后+判断是否是最后一个元素,最后一个元素直接endl;
参考代码:
#include<iostream> #include<vector> using namespace std; void Add(vector<int> v1,vector<int> v2,int x,int y); int main() { vector<int> v1; vector<int> v2; int n,m; int x,y; cin>>n>>m; for(int i=0;i<n;i++) { int value; cin>>value; v1.push_back(value); } for(int i=0;i<m;i++) { int value; cin>>value; v2.push_back(value); } cin>>x>>y; Add(v1,v2,x,y); return 0; } void Add(vector<int> v1,vector<int> v2,int x,int y) { vector<int> v; if(x+y>=v1.size()) { for(int i=0;i<x;i++) { v.push_back(v1[i]); } for(int i=0;i<y;i++) { v.push_back(v2[i]); } for(vector<int>::iterator it=v.begin();it!=v.end();it++) { if(it==v.end()-1) { cout<<*it<<endl; } else { cout<<*it<<","; } } } else { for(int i=0;i<x;i++) { v.push_back(v1[i]); } for(int i=0;i<y;i++) { v.push_back(v2[i]); } for(int i=x+y;i<v1.size();i++) { v.push_back(v1[i]); } for(vector<int>::iterator it=v.begin();it!=v.end();it++) { if(it==v.end()-1) { cout<<*it<<endl; } else { cout<<*it<<","; } } } }
0.0分
0 人评分
2^k进制数 (C语言描述,蓝桥杯)浏览:1420 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:477 |
简单的a+b (C语言代码)浏览:416 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:643 |
筛排处理 (C语言代码)浏览:788 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:523 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:817 |
1073题解浏览:624 |
C语言程序设计教程(第三版)课后习题7.4 (C++代码)浏览:557 |
C语言训练-求PI* (C语言代码)浏览:512 |