4-4 求自定类型元素的平均 (10分)

本文介绍了一个简单的函数,用于计算自定义类型元素数组的平均值。该函数适用于任何类型的ElementType,只要这种类型支持加法和除法操作。

本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType。
函数接口定义:

ElementType Average( ElementType S[], int N );

其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素的平均值,其值也必须是ElementType类型。

ElementType Average( ElementType S[], int N )
{
    ElementType sum = 0;
    int i;
    for( i = 0; i < N; i++ ){
        sum += S[ i ];
    }
    return sum / N;
}

很简单,唯一需要注意的是,在函数中不要用float 来定义sum。
而是要顺从题目,用ElementType sum。这样就算以后ElementType以后变成int 或者 double了。代码也不需要改变。

这也是一个设计实践分离的思想吧??

计算自定义类型元素平均值,可根据不同的编程语言来实现。 在C语言中,若要实现一个函数N个自定义类型 `ElementType` 元素 `S[]` 的平均值,代码示例如下: ```c #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) { double sum = 0; for(int i = 0; i < N; i++) { sum = sum + S[i]; } return sum / N; } ``` 此代码先在 `main` 函数中读取数组元素个数和元素值,然后调用 `Average` 函数计算平均值,该函数通过遍历数组累加元素值到 `sum`,最后返回 `sum` 除以元素个数的结果 [^4]。 另一种C语言实现方式如下: ```c ElementType Average( ElementType S[], int N ) { float ave = 0.0; for(int i = 0; i < N; i++) { ave += S[i] / N; } return ave; } ``` 该实现方式在循环中直接将每个元素除以元素个数累加到 `ave` 中,最后返回 `ave` [^2]。 在Python中,若自定义类型元素以列表形式存储,可使用内置函数计算平均值,代码示例如下: ```python def average(lst): total = sum(lst) avg = total / len(lst) return avg my_list = [1, 2, 3, 4, 5] result = average(my_list) print("列表的平均值为:", result) ``` 此代码定义了 `average` 函数,使用 `sum` 函数计算列表元素总和,再除以列表长度得到平均值 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值