急求一道C++编程题!!!

设计C++函数 float fun(float a[],int n,float &max,float *min),查找数组a中最大值元素max 和最小值元素min,同时计算除去最大值和最小值后a中元素的平均值;并在主函数中测试该函数。

#include<stdio.h>
float fun(float a[],int n,float &max,float *min)
{int i;
 float s=a[0];
 max=*min=a[0];
 for(i=1;i<n;i++)
 {if(a[i]>max)max=a[i];
    else if(a[i]<*min)*min=a[i];
  s+=a[i];  
 }
 return (s-max-*min)/(n-2);
}
int main()
{int i,n;
 float av,a[100],max,min;
 scanf("%d",&n);
 for(i=0;i<n;i++)
   scanf("%f",&a[i]);
 av=fun(a,n,max,&min);
 printf("Max=%f\nMin=%f\nAv=%f\n",max,min,av);
 return 0;
}

追问

运行之后啥也没有啊🤔

追答

运行时,先输入n的值,表示有n个数据。
然后再输入 n 个数。
程序计算后就输出结论。

运行时,先输入n的值,表示有n个数据。
然后再输入 n 个数。
程序计算后就输出结论。-----图中上2行,是输入的;后2行,是输出的。

追问

在哪儿输入啊

能不能详细的说一下,麻烦你了

搞定了,多谢大神指教

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-28
float fun(float a[],int n,float &max,float *min)
{
    float sum = max = *min = a[0];
    for(int i=1; i<n; i++)
    {
        if(a[i]>max) max = a[i];
        if(a[i]<*min) *min = a[i];
        sum += a[i];
    }
    return sum/n;
}

追问

能不能发个完整的,带主函数的😁

追答#include<stdio.h>
int main()
{
    float f[10];
    printf("请输入10个数:");
    for(int i=0; i<10; i++) scanf("%f", &f[i]);
    float max, *pMin;
    float avg = fun(f, 10, max, pMin);
    printf("这10个数的最大值是%f,最小值是%f,平均值是%f", max, *pMin, avg);
    return 0;
}

相似回答