为什么会这样啊,救命
你sum没赋初值,for循环里一直没变过,最后才算的sum
你这代码是C和C++混写的,cin是C++的,printf是C的。
代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
float average(int a[],int n)
{
int max,min,i;
float avg = a[0];
max = min = a[0];
for(i=1;i<n;i++)
{
if(max < a[i])
max = a[i];
if(min > a[i])
min = a[i];
avg += a[i];
}
avg=(avg - max - min)/n;
return avg;
}
int main()
{
int a[100],n,i;
//数组大小
cin >> n;
//输入n个数
for(i=0;i<n;i++)
cin >> a[i];
cout << fixed << setprecision(2) << average(a,n) ;
return 0;
}
数组、排序、求和、求平均