6-4 求自定类型元素的平均

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

函数接口定义:

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

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

#include <stdio.h>
ElementType Average( ElementType S[], int N ){
    if (N <= 0) {
        return 0.0; // 避免除零错误
    }
    ElementType ave=0;//自定义类型值
    ElementType sum=0;
    for(int i = 0;i<=N;i++){
        sum+=S[i];
    }
    ave=sum/N;
    return ave;
}
裁判测试程序样例:
#include <stdio.h>

#define MAXN 10
typedef float ElementType;//定义为float类型

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

int main ()
{
    ElementType S[MAXN];//相当于float 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,可以定义数值类型(int、float、double)、非数值类型(数组、结构体、联合体、指针等)。

用 typedef 自定义类型。

注意:

  • ElementType 在此例中实际就是 float 类型
  • 输入输出格式仍需按原始类型(%f)处理
  • 数学运算(加法、除法)对 float 类型有效
posted on 2026-01-10 15:39  小美灵  阅读(3)  评论(0)    收藏  举报