文章目录
- 题目
- 函数接口定义
- 裁判测试程序样例
- 输入样例
- 输出样例
- 题解
- 解题思路
- 完整代码
- AC代码
编程练习题目集目录
题目
要求实现一个函数,求 N N N 个集合元素 S [ ] S[] S[] 的平均值,其中集合元素的类型为自定义的 E l e m e n t T y p e ElementType ElementType。
函数接口定义
ElementType Average( ElementType S[], int N );
其中给定集合元素存放在数组 S [ ] S[] S[] 中,正整数 N N N 是数组元素个数。该函数须返回 N N N 个 S [ ] S[] S[] 元素的平均值,其值也必须是 E l e m e n t T y p e ElementType 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;
}