数组练习题 2019-04-08

代码全部使用已学知识编写,并尽量减少循环的嵌套,方便理解

circle-info

本文提供了平台的所有测试数据和期望输出,可以根据这些数据来调试程序

circle-check
circle-check

1.大奖赛评分B

【问题描述】

当前许多歌手大奖赛评分时,为了体现公平,在评委给出分数后统计平均得分时,都会去掉最高分和最低分。编写程序,读入评委打分(分数都是大于0的整数,评委人数大于等于5,小于等于50),去掉两个最高分和两个最低分,计算并输出平均得分(小数点后保留两位有效数字)。

circle-check

测试数据

期望输出

测试数据1

88 90 90 88 89 -1

89.00

测试数据2

88 88 88 88 88 88 88 88 88 88 -1

88.00

测试数据3

90 98 99 100 92 97 98 95 91 90 100 92 93 98 90 -1

94.82(应为95.30)

测试数据4

87 88 89 90 91 92 93 94 95 96 97 98 -1

92.50

测试数据5

75 75 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 90 90 -1

82.50

circle-exclamation

参考代码

2.数组异或

【问题描述】

从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从小到大顺序排序输出(即两组整数集“异或”)。

circle-check

测试数据

第一组

第二组

期望输出

测试数据1

1

2

1 2

测试数据2

1 3 2

4 2 5 8

1 3 4 5 8

测试数据3

9 8 7 0

7 8 9 6

0 6

测试数据4

3 5 4 2 1

5 1

2 3 4

测试数据5

1 20 18 4 3 2 6 8 17 16 15 14 13 11 12 5 9 7 10 19

10 9 8 7 6 5 4 3 2 1

11 12 13 14 15 16 17 18 19 20

参考代码

circle-check

3.计算矩阵乘以向量

【问题描述】

输入1个4*4的int类型的矩阵和4*1的int类型的列向量,计算矩阵乘向量

circle-check

主要思路:

测试数据

第一组

第二组

期望输出

测试数据1

1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 1 2 3 4

1 2 3 4

10 20 30 40

测试数据2

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

1 1 1 1

10 10 10 10

测试数据3

14 20 63 10 10 20 31 14 15 21 30 41 9 8 6 7

1 2 3 4

283 199 311 71

测试数据4

-1 8 5 9 6 -4 2 3 7 0 -8 9 0 0 1 2

1 2 1 2

38 6 17 5

测试数据5

1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4

1 2 3 4

1 4 9 16

参考代码

4.杨辉三角形

【问题描述】

在屏幕上显示如下杨辉三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 … … … … … … …

circle-check

主要思路1[推荐]:

测试数据

期望输出

测试数据1

4

5行杨辉三角

测试数据2

7

8行杨辉三角

测试数据3

9

10行杨辉三角

测试数据4

11

12行杨辉三角

测试数据5

12

13行杨辉三角

参考代码

5.计算均值和方差

【问题描述】

给定一个不超过100的整数 nn ,并输入 nn 个double型实数 xix_i ,计算这n个实数的平均值 xavgx_{avg} ,并计算这n个实数的方差,计算公式为 ((xixavg)2)n \frac{∑((x_i-x_{avg})^2)}{n}

circle-check

主要思路:

测试数据

期望输出

测试数据1

65 98 78 82

80.750000 138.687500

测试数据2

78 86 62 42 51 35

59.000000 338.000000

测试数据3

78 99 56 94 69 32

71.466667 511.362222

测试数据4

-40 -60 -80 -90

-67.500000 368.750000

测试数据5

40 50 -90 60 -87 30 85 91

22.375000 4471.234375

参考代码

6.折半查找

【问题描述】

有15个数按由大到小顺序放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数”(应该输出not found)

circle-exclamation

注意:

circle-exclamation
circle-check

主要思路:

测试数据

第一组

第二组

期望输出

测试数据1

1 3 5 7 9 11 13 17 19 21 25 34 38 39 45

2

not found

测试数据2

1 3 5 7 9 11 13 17 19 21 25 34 38 39 45

13

6

测试数据3

1 3 5 7 9 11 13 17 19 21 25 34 38 39 45

39

13

测试数据4

1 3 5 7 9 11 13 17 19 21 25 34 38 39 45

3

1

测试数据5

1 3 5 7 9 11 13 17 19 21 25 34 38 39 45

16

not found

参考代码

7.方阵乘法运算

【问题描述】

从键盘输入一个正整数 nn[1,10]n(n∈[1,10]) ,表示进行乘法运算的两个整形方阵的阶。然后分别输入两个整形方阵A和B,计算A×B后将结果输出到屏幕。

circle-check

主要思路:

测试数据

第二组

第三组

期望输出

测试数据1

99

98

9702

测试数据2

-10 20

0 -3

10 1

1 21

-80 410

-3 -63

测试数据3

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

3 3 3

3 3 3

3 3 3

测试数据4

1 1 1 0 0 0

0 0 0 0 0 0

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

0 0 0 0 0 0

1 1 1 1 1 1

2 2 2 2 2 2

3 3 3 3 3 3

4 4 4 4 4 4

5 5 5 5 5 5

6 6 6 6 6 6

6 6 6 6 6 6

0 0 0 0 0 0

21 21 21 21 21 21

21 21 21 21 21 21

21 21 21 21 21 21

0 0 0 0 0 0

测试数据5

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

12 -45 -90 12

1 2 3 123

0 0 0 1

1 1 1 1

12 -45 -90 12

1 2 3 123

0 0 0 1

1 1 1 1

参考代码

8.排好序的数组,插入数

参考代码

Last updated