文章目录
题目
要求实现一个函数,求 N N 个集合元素 S [ ] S[] 的平均值,其中集合元素的类型为自定义的 E l e m e n t T y p e ElementType 。
函数接口定义
ElementType Average( ElementType S[], int N );
其中给定集合元素存放在数组 S [ ] S[] 中,正整数 N N 是数组元素个数。该函数须返回 N N 个 S [ ] S[] 元素的平均值,其值也必须是 E l e m e n t T y p e 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
题解
解题思路
将传入函数的数组,先进行求和,再除以数组的个数,将得到的平均值返回即可。
完整代码
#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; } /* 你的代码将被嵌在这里 */ ElementType Average(ElementType S[], int N) { ElementType average = 0; int i = 0; for (i; i < N; i++) { average = average + S[i]; } average /= N; return average; }
AC代码
ElementType Average(ElementType S[], int N) { ElementType average = S[0]; int i = 1; for (i = 1; i < N; i++) average += S[i]; average /= N; return average; }