2、输入n个数,去掉最大值和最小值,求平均值。(结果保留2位小数) - 爱问答

(爱问答)

2、输入n个数,去掉最大值和最小值,求平均值。(结果保留2位小数)

#include<bits/stdc++.h>
using namespace std;
int main()
{   
int i,mx=0,mim=1400000000;
double b,a[1005],n;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++){
if(a[i]>mx)mx=a[i];
if(a[i]<mim)mim=a[i];
}
a[i]=a[i]-mx-mim;
b=a[i]/(n-2);
cout<<fixed<<setprecision(2)<<b;
return 0;
}
这为社么不对

你程序的关键错是

a[i]=a[i]-mx-mim;

a[i]不是所有数的和,而是一个随机的数(循环结束后,a[i]=a[n+1]),去最大/小值没有意义

另外,若是OJ的,你要被坑的

输入 n 个数,它可能是负数的,也可能大于1400000000。

所以你的mx=0,mim=1400000000;是不对的

再有,按C/C++程序员风格,下标要从0开始(当然,只是风格)

最后,这么简单的求平均值 ,根本不用数组的

(你先自己做下,给你思路,不明白可追问)

首先,输入一个数,将和,最大,最小都等于它(就不用设0和1400000000,也无论正负了)

然后输入n-1个数,并每个求和(这样不用数组),并断最大/最小且赋值

最后和减最大、最小除n-2就可以了


下一篇:计算:1除以sin(8分之3π)的值(答案要用带根号的)

上一篇:请问2分之根号4是不是整式,如果是,为什么

热门标签:
英语 谜语 作文 数学 公式 语文 物理 化学 工艺 java c语言 实验 方程 金属 分子 数据库 硫酸 酒精 运算 石油 vc 世界大战 php 化合物 mysql
最新更新:
电学的一个小问题 为什么打点计时器只能粗略瞬时速度 lookdownupon用法 中专都考不上大学有必要复读一年吗? 如图,已知∠B=∠DEF,AB=DE,请添加一个条件使△ABC≌△DEF,则需添加的条件是__________. 求曲线y=2x^2和直线y=2的所围图形的面积 夜上受降城闻笛是哪句 这个怎么填数字? 小明家下五层楼是5楼,那么小明家上五层楼是几层楼? 填空题,这个题目是怎么算的呢…… 22335577()143中括号里填什么数字。 懂得人帮我看一下这个英文是啥意思??? 最小的物质单位是什么 怎么估算根号52000000 about的重读字母是哪里