#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double max=0, min=1000,ave=0;
int N, m;
double sum=0;
cin >> N;
int a[1000];
for (int i = 0; i < N; i++)
{
scanf("%d", &a[i]);
sum = sum + a[i];
}
ave = sum / N;
for (int i = 0; i < N; i++)
{
if (a[i] > max)
max = a[i];
if (a[i] < min)
min = a[i];
}
cout << "average = " << fixed << setprecision(2) << ave << endl;
cout << "max = " << fixed << setprecision(2) << max << endl;
cout << "min = " << fixed << setprecision(2) << min << endl;
}
int a[1000], 如果测试数据超出1000,就会出错。建议min/max在输入时直接计算,不做数据存储。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double max=0, min=1000,ave=0;
int N, m;
double sum=0;
cin >> N;
int a;
for (int i = 0; i < N; i++)
{
scanf("%d", &a);
sum = sum + a;
if (a > max)
max = a;
if (a < min)
min = a;
}
ave = sum / N;
cout << "average = " << fixed << setprecision(2) << ave << endl;
cout << "max = " << fixed << setprecision(2) << max << endl;
cout << "min = " << fixed << setprecision(2) << min << endl;
}