题解 | 牛牛的数学作业
牛牛的数学作业
https://www.nowcoder.com/practice/6f5d239c34a7429cb325a3d836abc342?tpId=383&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AF%2587%26topicId%3D383
#include <iostream>
#include <algorithm>
#include <functional>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
int T;
int group_n[101] = {0};
int num[101][100001] = {0};
double variance;//方差
int range;//极差
double avg;
cin >> T;
for(int m = 0; m < T; m = m+1)
{
cin >> group_n[m];
for(int k = 0; k < group_n[m]; k = k+1)
{
cin >> num[m][k];
}
}
for(int i = 0; i < T; i = i+1)
{
//求极差
int rang_max = *max_element(num[i],num[i]+group_n[i]);
int rang_min = *min_element(num[i],num[i]+group_n[i]);
range = rang_max - rang_min;
cout << range << " ";
//求平均值
double sum = 0;
for(int j = 0; j < group_n[i]; j = j+1)
{
sum = sum + num[i][j];
}
avg = sum / group_n[i];
//求方差
double variance_sum =0;
for(int h = 0; h < group_n[i]; h = h+1)
{
variance_sum = variance_sum + pow((num[i][h]-avg),2);
}
variance = variance_sum / group_n[i];
cout << fixed << setprecision(3) <<variance << endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")