天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。 于是命题组首先将编程能力划分成了 10 6 个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。 输入格式: 输入在第一行中给出一个正整数 n(≤2×10 4 ),即参赛学生的总数。随后一行给出 n 个不超过 10 6 的正整数,是参赛学生的能力值。
时间: 2023-05-31 11:18:01 浏览: 107
### 回答1:
天梯赛是一个注重公平的比赛。命题组希望通过控制题目难度,使得每个参赛学生都能做出一些题目,即使是最优秀的学生也需要付出很大的努力才能得到高分。为此,命题组将编程能力划分成了10个等级,并调查了每个参赛学生的编程能力。现在需要编写一个程序,找出所有参赛学生的最小和最大能力值,以供命题组参考。输入格式:第一行为一个正整数n(≤2×10^4),表示参赛学生的总数。第二行为n个不超过10^6的正整数,表示每个参赛学生的能力值。
### 回答2:
首先,题目要求我们找到所有参赛学生的最小和最大能力值。因此,我们需要先读入 n 个正整数表示参赛学生的能力值,然后再对这些值进行处理。
我们可以使用两个变量来存储最小值和最大值,初始值分别设为第一个数。然后遍历整个数组,如果当前值比最小值还要小,就把最小值更新为当前值;如果当前值比最大值还要大,就把最大值更新为当前值。最后输出最小值和最大值即可。
下面是代码实现:
### 回答3:
首先需要读入参赛学生的个数 n 和每个学生的能力值,然后可以开两个变量 minAbility 和 maxAbility 分别表示最小和最大的能力值,将这两个变量都初始化为第一个参赛学生的能力值,接着遍历剩下的 n-1 个参赛学生的能力值,依次将每个学生的能力值与 minAbility 和 maxAbility 进行比较,更新这两个变量的值。
具体地,用一个循环遍历 n-1 个参赛学生,假设当前遍历到第 i 个参赛学生,则将第 i 个参赛学生的能力值读入一个变量 ability,并依次与 minAbility 和 maxAbility 进行比较,更新这两个变量的值:
如果 ability 小于 minAbility,则将 minAbility 更新为 ability;
如果 ability 大于 maxAbility,则将 maxAbility 更新为 ability;
否则不需要更新。
循环结束后,minAbility 和 maxAbility 的值即为所有参赛学生的最小和最大能力值,可以输出它们作为答案。
代码示例: