一、题目链接
http://noi.openjudge.cn/ch0105/05/
二、解题思路
2.1 初始时输入第一个学生的分数并假设其为最高分数max
;
2.2 循环输入剩余学生的分数并依次与max
进行比较:
▲ 如果当前学生的分数大于max
:将max
更新为当前学生的分数;
2.3 循环结束后,max
中存储了所有学生的最高分数。
三、实施步骤
3.1 定义两个int
类型的变量n
、max
,分别代表学生人数、最高分数(此时假设第一个学生的分数最高),输入它们的数据;
3.2 定义int
类型的变量score
,代表剩余学生的分数;
3.3 通过整数标记i
代表学生编号,i
从2
开始,到n
为止,递增步长为1
,循环处理如下:
▲ 输入当前学生的分数score
;
▲ if score>max
:令max=score
;
3.4 输出max
。
四、Java程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt(); // 学生人数
int max = input.nextInt(); // 最高分数,初始时假设第一个学生的分数最高
int score; // 剩余学生的分数
/* 整数标记i代表学生编号,i从2开始,到n为止,递增步长为1 */
for (int i = 2; i <= n; i++) {
score = input.nextInt(); // 输入当前学生的分数score
if (score > max) { // 如果score大于max
max = score; // 将max更新为score
}
}
System.out.print(max);
}
}