1038: 小可怜的指针题
题目
题目描述
助教是个小可怜,因为她不知道要出什么机考题了。 然后她发现大家已经学完了指针,欣喜若狂。但是她要跑实验,不是很想出题。于是她偷了一道憨憨助教出的指针题,改一改准备拿来出题。
写出以下代码中的两个函数$funA$和$funB$的声明与定义,使得调用$funA(p)=a$之后,就能通过指针$p$访问用户输入的数组$a$,$funB$能将$p,q$指向的两个数组的对应位相乘,并存储到数组$c$的对应位中。(两个函数的具体用法和含义参考下面的主程序)
```c++
include
include
using namespace std;
int n; // 写出两个函数的声明
int main() { int a[100], b[100], c[100]; cin >> n; for (int i = 0;i < n; ++i) cin >> a[i]; for (int i = 0;i < n; ++i) cin >> b[i]; int p,q; funA(p) = a; funA(q) = b; funB(c,p,q); for (int i = 0; i < n; ++i) cout << c[i] << " "; return 0; }
// 写出两个函数的定义
```
要求如下:
除了实现$funA$和$funB$外,不能修改包括main函数在内的其他代码,不能在全局定义新的变量、指针、数组和函数等,不能调用其他的库。
$funA$和$funB$内不能调用任何输入输出函数(包含但不限于cin,cout,scanf,prinf,getchar,putchar等等)。
不允许存在内存泄漏。
用户输入的单个数组长度不会超过98,而且$-1000 \leq a_i, b_i \leq 1000$.
样例输入
8
5 4 7 4 9 1 1 0
1 -9 2 -6 0 -8 1 -7
样例输出
5 -36 14 -24 0 -8 1 0
Oops! 本题目还没有解答!
助教老师们编题的速度,已经超过了解题的速度!
OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。
如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!