题解 | 牛牛的数学作业
牛牛的数学作业
https://www.nowcoder.com/practice/6f5d239c34a7429cb325a3d836abc342
题干解读:分别对输入的T张试卷的数据进行处理,输出他们字数的极差和方差.
解体思路:先利用for循环来对每张试卷的信息进行处理,找出最大和最小值,并求出字数和。然后求极差和平均数.
极差=最大值-最小值.平均数=和/n;
再由平均数求得方差即可.
#include <iostream>
#include<iomanip>
using namespace std;
int main() {
int t;
cin>>t;
for(int i=0;i<t;i++){
int n;
cin>>n;
int a[n];
int max,min,sum=0;
for(int j=0;j<n;j++){
cin>>a[j];
sum +=a[j];
if(j==0){
max = a[j];
min = a[j];
}else if(a[j]>max){
max=a[j];
}else if(a[j]<min){
min = a[j];
}
}
cout<<max-min<<" ";
double ave = (double)sum/n;
double s;
double v=0;
for(int k=0;k<n;k++){
v += (a[k]-ave)* (a[k]-ave);
}
s = v/n;
cout<<fixed<<setprecision(3)<<s<<endl;
}
}
查看14道真题和解析