蓝桥杯 成绩分析 C++ 求一个数组中的最值
第十一届蓝桥杯大赛研究生组 试题F:成绩分析
试题:
代码:
#include <iostream>
#include <stdio.h>
using namespace std;
int n;
//求最高分函数, 求一个数组中最大值的函数
int Max(int m[10005])
{
int max = m[0];
for(int i = 1; i < n; i++)
{
if(max < m[i])
{
max = m[i];
}
}
return max;
}
//求最低分函数,求一个数组中的最小值的函数
int Min(int m[10005])
{
int min = m[0];
for(int i = 1; i < n;i++)
{
if(min > m[i])
{
min = m[i];
}
}
return min;
}
int main()
{
cin>>n;
int m[10005];
for(int i = 0;i < n;i++)
{
cin >> m[i];
}
int ans = 0;
//求总分
for(int i = 0;i < n;i++)
{
ans += m[i];
}
int a = Max(m);
int b = Min(m);
cout << "最高分 = " << a << endl;//最高分
cout << "最低分 = " << b << endl;//最低分
printf("%.2lf",1.0*ans/n);//平均分
return 0;
}
总结:此题主要是求一个数组中的最值. 也可以用set/multiset容器,set/multiset容器可以自己排序,直接输出首尾两个数就是最大值和最小值即可.个人理解