HM042 三种货架

HM042 三种货架

HM042 三种货架

来源: 第 42 集 数组-一维数组定义方式

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

货架是一段**连续**内存上的格子,格子里只能放**同一类型**的数据:要么全是整数,要么全是浮点数,不能前几格放电池、后一格塞橡皮。给货架起名时,规则和普通变量一样,而且不要和普通变量重名,否则分不清访问的是货架还是变量。

建货架有且只有三种合法写法:

  1. 先定长度再赋值:写明元素个数 \(n\),再按下标往格子里填。下标从 \(0\) 起算,长度为 \(n\) 时合法下标是 \(0,1,\ldots,n-1\),下标 \(n\) 访问不到。访问写法是「数组名 + 方括号 + 下标」。
  2. 定长度并给部分初值:写明长度 \(n\) 的同时给出前 \(k\) 个初值(\(k \le n\))。没填完的剩余格子会自动用 \(0\) 补齐。
  3. 只给初值、省略长度:初值写全后,编译器会按初值个数推断长度。若既不写长度、也不给任何初值,类型不完整,货架无法定义。

元素一多,不要复制上百行输出语句,应当用 for 循环让下标从 \(0\) 递增到 \(n-1\)(循环条件写成 \(i < n\))。

读入建架方式与数据,按上述规则得到整型数组,再从下标 \(0\) 循环到 \(n-1\),依次输出全部元素。

输入格式

第一行一个整数 \(op\)(\(1 \le op \le 3\)),表示建架方式。

  • 若 \(op=1\):第二行一个整数 \(n\)(\(1 \le n \le 100\)),第三行 \(n\) 个整数,表示先定长度再逐个赋值。
  • 若 \(op=2\):第二行两个整数 \(n\)、\(k\)(\(1 \le k \le n \le 100\)),第三行 \(k\) 个整数,表示长度为 \(n\)、只初始化前 \(k\) 个元素。
  • 若 \(op=3\):第二行一个整数 \(k\)(\(0 \le k \le 100\));若 \(k \ge 1\) 则第三行 \(k\) 个整数作为初值并推断长度;若 \(k=0\) 表示既无长度也无初值。

每个整数的绝对值不超过 \(10^9\)。

输出格式

若 \(op=3\) 且 \(k=0\),输出一行 INVALID

否则输出一行 \(n\) 个整数,相邻整数之间恰好一个空格,行末换行。

样例

输入 #1

1
5
10 23 14 10 50

输出 #1

10 23 14 10 50

输入 #2

2
5 3
12 13 10

输出 #2

12 13 10 0 0

说明

样例 1 是第一种定义:长度 \(5\),按下标 \(0\) 到 \(4\) 赋值后循环输出。样例 2 是第二种定义:长度 \(5\) 但只给了前三个初值,后两格补 \(0\)。若 \(op=3\) 且初值为 \(90\ 87\ 16\ 15\ 14\ 13\ 12\ 11\ 10\),则推断长度 \(9\),输出这九个数;若 \(op=3\) 且 \(k=0\),输出 INVALID

信息

ID
1041
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者