L1-068 调和平均
N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。
输入格式:
每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (≤1000);第 2 行给出 N 个正数,都在区间 [0.1,100] 内。
输出格式:
在一行中输出给定数列的调和平均值,输出小数点后2位。
输入样例:
8
10 15 12.7 0.3 4 13 1 15.6
输出样例:
1.61
1.61
题解
#include
int main()
{
int N;
float a[N];
float P=0;
scanf("%d",&N);
for(int i=1;i<=N;i++)
{
scanf("%f",&a[N-1]);
P=P+1/a[N-1];
}
float G;
G=N/P;
printf("%0.2f",G);
return 0;
}
调和平均数是平均数的一种,它是各个标志值倒数的算数平均数的倒数,又称为倒数平均数、调和平均数可分为简单调和平均数和加权调和平均数。
调和平均数根据所给资料是否统计分组,可分为简单调和平均数和加权调和平均数两种。
调和平均数具有以下几个主要特点:
①调和平均数易受极端值的影响,且受极小值的影响比受极大值的影响更大。
②只要有一个标志值为0,就不能计算调和平均数。
③当组距数列有开口组时,其组中值即使按相邻组距计算,假定性也很大,这时的调和平均数的代表性很不可靠。
④调和平均数应用的范围较小。在实际中,往往由于缺乏总体单位数的资料而不能直接计算算术平均数,这时需用调和平均法来求得平均数。 [2]



