【牛客刷题实战】BC119 最高分与最低分之差
大家好,我是小卡皮巴拉
文章目录
目录
牛客题目: BC119 最高分与最低分之差
题目描述
输入描述:
输出描述:
示例1
解题思路
具体思路:
题目要点:
完整代码:
兄弟们共勉 !!!
每篇前言
博客主页:小卡皮巴拉
咱的口号:🌹小比特,大梦想🌹
作者请求:由于博主水平有限,难免会有错误和不准之处,我也非常渴望知道这些错误,恳请大佬们批评斧正。
牛客题目: BC119 最高分与最低分之差
原题链接:BC119 最高分与最低分之差
题目描述
输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。
输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。
第二行为n个成绩(整数表示,范围0~100),以空格隔开。输出描述:
一行,输出n个成绩中最高分数和最低分数的差。
示例1
输入:
10 98 100 99 97 95 99 98 97 96 100输出:
5
解题思路
通过阅读题目,我们发现本题目求解需要两步:
1.输入数字n表示要输入n个成绩,并在第二行输入n个成绩。
2.找出这n个成绩中的最高分数和最低分数,并求出它们的差。
我们可以将成绩存储在一维数组中,并通过遍历的方式找出最高分数和最低分数。
具体思路:
- 输入数字n
- 用n来规定变长数组arr的大小
- 用for循环遍历数组,得到最高分数max和最低分数min
- 打印出max和min的差
题目要点:
本题的要点在于如何遍历得到最大值和最小值,这里我们采用如下方法:
假设min = arr[0],max = arr[0],再用for循环遍历
if(min>arr[i]) //如果min比数组中的数大,则更新min
min = arr[i]
if(max<arr[i]) //如果max比数组中的数小,则更新max
max = arr[i]
完整代码:
int main() {//输入数据int n = 0;scanf("%d",&n);int arr[n];for(int i=0;i<n;i++){scanf("%d",&arr[i]);}//找出最大数据和最小数据int max = arr[0],min = arr[0];for(int j=0;j<n;j++){if(arr[j]>max)max = arr[j];if(arr[j]<min)min = arr[j];}printf("%d",max - min);return 0; }
兄弟们共勉 !!!
码字不易,求个三连
抱拳了兄弟们