6-4 求自定类型元素的平均
本题要求实现一个函数,求N
个集合元素S[]
的平均值,其中集合元素的类型为自定义的ElementType
。
函数接口定义
ElementType Average( ElementType S[], int N );
其中给定集合元素存放在数组S[]
中,正整数N
是数组元素个数。该函数须返回N
个S[]
元素的平均值,其值也必须是ElementType
类型。
裁判测试程序样例
#include <stdio.h>
#define MAXN 10
typedef float ElementType;
ElementType Average( ElementType S[], int N );
int main ()
{
ElementType S[MAXN];
int N, i;
scanf("%d", &N);
for ( i=0; i<N; i++ )
scanf("%f", &S[i]);
printf("%.2f\n", Average(S, N));
return 0;
}
/* 你的代码将被嵌在这里 */
样例输入
3
12.3 34 -5
样例输出
13.77
分析及答案
和6-3 多项式求值是一样的道理,只是用ElementType
抽象化了数据类型,遍历求和然后除以N就行,也是没有卡溢出的一题。
ElementType Average(ElementType S[],int N){
int i;
ElementType sum=0;
for(i=0;i<N;i++)
sum+=S[i];
return (ElementType) sum/N;
}