OlveraeUNSW
返回题目列表
COMP1521

指针与堆 · 数组翻倍

指针与堆 · 数组翻倍

把一段需要手动管理内存的指针练习交给你。

任务

  1. 读入一个整数 n,再读入 n 个整数。
  2. 用 malloc 在堆上分配一个能放 n 个 int 的数组,把这 n 个数存进去。
  3. 通过函数 double_all(int *arr, int n),用指针把数组里每个元素翻倍。
  4. 按原顺序输出翻倍后的结果,空格分隔,行尾换行。
  5. 用完 free 掉堆内存。

输入:第一行 n;接着是 n 个整数(空白分隔)。
输出:n 个翻倍后的整数,空格分隔。

例:输入 3 / 1 2 3 → 输出 2 4 6

用 c-dcc 编译:忘记 free、越界、用了未分配的指针都会被当场抓出来。这道题是指针讲义里"压轴写码挑战"的真·沙盒版。

样例

stdin
3
1 2 3
期望输出
2 4 6
stdin
1
10
期望输出
20
c-dcc
14