Skip to content

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了,可以的话,请您参考添加页面,与大家一起分享你的题解!