【GESP】C++一级练习 luogu-B2057, 最高的分数
一级练习,寻找一组数的最大值。是一个基础算法逻辑,在后面的题中会有大量的应用。
luogu-B2057
题目要求
描述
孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?。
输入
输入两行,第一行为整数 $n$ ($1\le n<100$),表示参加这次考试的人数。第二行是这 $n$ 个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为 $0$ 到 $100$ 之间的整数。
输出
输出一个整数,即最高的成绩。
输入样例-1
5
85 78 90 99 60
输出样例-1
99
题目分析
- 读取学生人数$n$的值
- 循环$n$次,读取每个学生的分数
- 更新最大分数
- 输出最大分数
这里因为给定了分数的范围是1-100,因此将最大值初始化为0,保证从第1个学生的分数一定可以更新到max上,算法才能成立。
这里也可以采用判断是第一个学生就直接给max初始化值的方法,更通用。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
int n; // 定义整数n,用于存储学生人数
cin >> n; // 从输入流中读取n的值
int max = 0; // 初始化最大分数为0
int point; // 定义整数point,用于存储每个学生的分数
for (int i = 1; i <= n; i++) { // 循环n次,处理每个学生的分数
cin >> point; // 从输入流中读取每个学生的分数
if (point > max) { // 如果当前分数大于最大分数
max = point; // 更新最大分数
}
}
cout << max; // 输出最大分数
return 0; // 返回0,表示程序执行成功
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权