[蓝桥杯][算法提高VIP]数组替换-模拟
生活随笔
收集整理的這篇文章主要介紹了
[蓝桥杯][算法提高VIP]数组替换-模拟
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
編寫并測試如下函數:
void Add (int a[], int m, int b[], int n);
該函數將數組b的前n個元素追加到數組a的前m個元素后,假定數組a具有至少存放m+n個元素的空間。例如,如果數組a為 {22,33,44,55,66,77,88,99},數組b為{20,30,40,50,60,70,80,90},則調用Add(a,5,b,3) 后,將把數組a變為{22,33,44,55,66,20,30,40}。注意數組b并沒有改變,而且數組a中只需改變n個元素。
輸入
4行。第一行為兩個整數:m,n,并以空格隔開,分別表示將要輸入的數組a和數組b的元素的個數。第二行為m個整數,為數組a的元素;第三行為n個整數,為數組b的元素。第四行為兩個整數m1,n1,表示把數組b的前n1個元素追加到數組a的前m1個元素后。
輸出
1行。為最后數組a中的元素,兩個元素之間以逗號隔開。最后一個元素沒有
樣例輸入
8 8
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
4 5
樣例輸出
1,2,3,4,9,10,11,12,13
代碼如下:
#include <iostream> using namespace std; int a[10010]; int b[10010];void Add(int a[], int m, int b[], int n) {for (int i = m + 1; i < m + 1 + n; i++)//考慮清楚用<,還是<={a[i] = b[i - m];} }int main() {int n, m;cin >> n >> m;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= m; i++)cin >> b[i];int n1, m1;cin >> m1 >> n1;Add(a, m1, b, n1);int N;if (n1 + m1 > n)N = n1 + m1;elseN = n;for (int i = 1; i <= N; i++) {if (i != 1)cout << ",";cout << a[i];}return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[蓝桥杯][算法提高VIP]数组替换-模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [蓝桥杯][基础练习VIP]报时助手
- 下一篇: [蓝桥杯][算法提高VIP]分分钟的碎碎