#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;
}

pta显示运行时错误,哪里错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- bobhuang 2021-11-23 11:37关注
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1