数组方法
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 61 课,共 88 课。
Ruby 提供了多种内置方法,让数组操作变得更简单。使用这些方法,你无需自己编写复杂的代码,就能对元素进行排序、反转和查找。
sort 方法会按升序排列元素:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # 输出:1, 1, 3, 4, 5要反转元素的顺序,请使用 reverse 方法:
letters = ["a", "b", "c"]
puts letters.reverse # 输出:c, b, a你可以组合使用这些方法,按降序排序:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # 输出:95, 92, 85, 78min 和 max 方法可以快速找出最小值和最大值:
prices = [29, 15, 42, 8]
puts prices.min # 输出:8
puts prices.max # 输出:42要计算数值元素的总和,可以使用 sum:
quantities = [2, 5, 3]
puts quantities.sum # 输出:10注意,sort 和 reverse 会返回新数组,而不会更改原数组。若要直接修改原数组,请在方法名后加上 !,例如 sort! 或 reverse!。
挑战
简单读取一行输入,其中包含用逗号分隔的整数(例如,5,2,8,1,9,3)。
将输入拆分为整数数组,然后按以下顺序分别输出,每项占一行:
- 按升序排序后的数组(每个元素单独占一行)
- 按降序排序后的数组(每个元素单独占一行)
- 最小值
- 最大值
- 所有元素的总和
在各部分之间输出一个空行,以便区分。
例如,如果输入是 5,2,8,1,9,3,输出应为:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28如果输入是 10,30,20,输出应为:
10
20
30
30
20
10
10
30
60如果输入是 7,3,5,1,输出应为:
1
3
5
7
7
5
3
1
1
7
16亲手试试
# 读取以逗号分隔的整数
input = gets.chomp
# 在每个逗号处分割输入,并将每一部分转换为整数
numbers = input.split(",").map(&:to_i)
# TODO:在下方编写你的代码
# 1. 将数组按升序排序,并打印每个元素
# 2. 打印一个空行
# 3. 将数组按降序排序,并打印每个元素
# 4. 打印一个空行
# 5. 打印最小值
# 6. 打印最大值
# 7. 打印所有元素的总和这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Ruby 在线编译器