版权声明:余生请多指教,欢迎交流学习: https://blog.csdn.net/LYS20121202/article/details/83033242
原题目:
本题要求实现一个函数,求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
分析:
1.不论它自定义的有多复杂,只当它是一个关键字,类似于int,double之类的,直接使用,与上一篇求和的相比,此处多了一个 求平均的过程,在最后返回值之前,求一下平均即可,记住int在于double和float做除法时的区别。注意精度的损失
代码:
ElementType Average( ElementType S[], int N )
{
ElementType f=0.0;
int i;
for(i=0;i<N;i++)
{
f+=S[i];
}
f=f/(N*1.0);
return f;
}