设计程序,查找数组a中的最大值元素max和最小值元素min,同时计算去除最大值和最小值后,a中元素的平均值。
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
double GetAvgValue(vector<int> vecNum)
{
double dblAns;
int max = INT_MIN, min = INT_MAX , sum = 0;
int vsize = vecNum.size();
if (vsize <= 2)
{
return 0;
}
// 至少三个数
for (int i = 0; i < vsize; i++)
{
sum += vecNum[i];
max = vecNum[i] > max ? vecNum[i] : max;
min = vecNum[i] < min ? vecNum[i] : min;
}
dblAns = (double)(sum - max - min)/(vsize - 2);
return dblAns;
}
int main()
{
vector<int> list = {1,2,-3,0,4,5,6,7,9,12};
double ans = GetAvgValue(list);
cout<<ans<<endl;
return 0;
}