• 将一组得分中,去掉一个最高分和一个最低分, 然后求平均值


           C语言,请编写函数fun(自定义函数),其功能是:将一组得分中,去掉一个最高分和一个最低分, 然后求平均值,并通过函数返回。 函数形参a指向存放得分的数组,形参n中存放得分个数(n>2)。 例如,若输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4十个得分,则输出结果为:8.687500。

    #include  <stdio.h>
    double fun(double  a[ ] , int  n)
    {
        int i,j,k,h;
        double max,min,av=0.0;
        j=0;
        max=a[0];
        min=a[0];
       for(i=0;i<n;i++)
        {
            if(a[i]>=max)
            {
                max=a[i];
                k=i;
            }
            if(a[i]<=min)
            {
                min=a[i];
                h=i;
            }
        }
        for(i=0;i<n;i++)
        {
            if(i!=k&&i!=h)
            {
                a[j]=a[i];
                j++;
            }
        }
        for(i=0;i<j;i++)
        {
            av+=a[i]/j;
        }
        return av;
    }
    main()
    {  double  b[10],  r;    int  i;
        printf("输入10个分数放入b数组中 :  ");
        for (i=0; i<10; i++)   scanf("%lf",&b[i]);
        printf("输入的10个分数是 :  ");//
        for (i=0; i<10; i++)   printf("%4.1lf ",b[i]);    printf("
    ");
        r = fun(b, 10);
        printf("去掉最高分和最低分后的平均分 :  %f
    ", r );
    }

    运行结果

  • 相关阅读:
    centos 用户管理
    rsync 实验
    文件共享和传输
    PAT 1109 Group Photo
    PAT 1108 Finding Average
    PAT 1107 Social Clusters
    PAT 1106 Lowest Price in Supply Chain
    PAT 1105 Spiral Matrix
    PAT 1104 Sum of Number Segments
    PAT 1103 Integer Factorization
  • 原文地址:https://www.cnblogs.com/wlei5206/p/12772421.html
Copyright © 2020-2023  润新知