PTA基础编程题目集 6-4求自定类型元素的平均(C语言实现) 题目描述摘要本文详细讲解了PTA程序设计类实验辅助教学平台6-4题求自定类型元素的平均的完整实现。题目要求实现一个Average函数计算N个ElementType类型元素的平均值。文章提供了函数接口定义、裁判测试程序样例、输入输出样例并给出了两种代码实现简洁的函数部分实现和完整的可运行程序实现。实现核心是使用double类型进行累加求和以避免精度丢失然后除以元素个数得到平均值。本题要求实现一个函数求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 ( i0; iN; i ) scanf(%f, S[i]); printf(%.2f\n, Average(S, N)); return 0; } /* 你的代码将被嵌在这里 */输入样例3 12.3 34 -5输出样例13.77函数部分实现ElementTypeAverage(ElementType S[],intN){inti0;doubletemp0;doubleaverage;for(;iN;i)temptempS[i];averagetemp/N;returnaverage;}代码部分实现/* 6-4 求自定类型元素的平均 * 题目实现函数 Average(S[], N)返回 N 个元素的平均值保留 2 位小数。 * 实现原理先累加求和再除以元素个数 N。 * 用 double 保存累加和与平均值以避免整型除法丢失精度 * 由于 ElementType 可能是 float求和时转成 double 计算更稳妥。 * 时间复杂度 O(N)空间复杂度 O(1)。 */#includestdio.h#defineMAXN10typedeffloatElementType;ElementTypeAverage(ElementType S[],intN);intmain(){ElementType S[MAXN];intN,i;scanf(%d,N);for(i0;iN;i)scanf(%f,S[i]);printf(%.2f\n,Average(S,N));return0;}/* 先求和再除以 N 得到平均值 */ElementTypeAverage(ElementType S[],intN){inti0;doubletemp0;/* 累加器用 double 防止精度丢失 */doubleaverage;for(;iN;i)temptempS[i];averagetemp/N;/* 总和 / 个数 */returnaverage;}