#1444. 一维数组作为参数
一维数组作为参数
Background
数组名作为函数的实参
实质是地址的传递,将数组的首地址传给形参,形参和实参共用同一存储空间,形参的变化就是实参的变化。并且注意。
把数组作为参数时,一般不指定数组的大小,即使指定,也会被忽略。具体语法原因暂不解释,可以先记住。
#include <bits/stdc++.h>
using namespace std;
int a[15], b[15], c[15], n;
void change(int a[], int c)
{
for (int i = 1; i <= n; i++) a[i] += c;
// 会实际修改这个数组。
return;
}
int main()
{
cin >> n;
change(a, 1);
change(b, 1);
change(c, 1);
cout << a[1] << " " << b[1] << " " << c[1];
}
Description
给定三个序列分别为 它们的长度分别为
有 次操作,每次操作分为三种类型。
- 给 序列的第 个数字都加
- 给 序列的第 个数字都加
- 给 序列的第 个数字都加
最后输出每个序列的最终结果。
Format
Input
第一行输入一个数字
接下来一行输入 个空格隔开的数字分别代表
第三行输入一个数字
接下来一行输入 个空格隔开的数字分别代表
第五行输入一个数字
接下来一行输入 个空格隔开的数字分别代表
第七行输入一个数字
接下来 行,每行二个数字。
格式如 op v
所示,若 代表给序列 操作, 代表给序列 操作, 代表给序列 操作。
Output
输出一共输出三行
第一行是 个数字,代表
第二行是 个数字,代表
第三行是 个数字,代表
Samples
3
1 2 3
4
1 2 3 4
5
1 2 3 4 5
3
1 3
2 3
3 3
4 5 6
4 5 6 7
4 5 6 7 8
Sample 1 explain
序列 初始为 a = [1, 2, 3]
序列 初始为 b = [1, 2, 3, 4]
序列 初始为 c = [1, 2, 3, 4, 5]
一共三次操作,可以看出三个操作分别让三个序列的所有位置的值都加了
因此操作结束后
a = [1 + 3, 2 + 3, 3 + 3] = [4, 5, 6]
b = [4, 5, 6, 7]
c = [4, 5, 6, 7, 8]
Limitation
当 ,满足
当 ,满足
当 ,满足