c++,输入一个整数n,然后输出n个数,去掉其中最大值和最小值,求剩余数的平均值, 例如: 输入

c++,输入一个整数n,然后输出n个数,去掉其中最大值和最小值,求剩余数的平均值,
例如:
输入
3 99 98 97
4 100 99 98 97
输出
98.00
98.50

帮我看看为什么结果不对?我觉得是在去掉最大值和最小值那里出错了,要怎么修改才对

首先你的两个if判断应该写在for循环里边,然后max和min写死了是怎么回事,最大值大于101最小值小于0??max、min初始化为0,for循环里sum+=m之后做个判断,输入第一个值的时候max=min=m,然后如果m>max就赋值给max,如果m<min就赋值给min
还有你输出的公式不对,加括号啊,运算符优先级(sum-max-min)/(n-2)追问

请问一下,这样对了没?

追答

只有在输入第一个值的时候才会有max=min=m,所以你在这个赋值之前需要加个判断
还有你该学一下调试方法,单步调试看看哪里出问题了,编程这种事最终还是靠自己

追问

max=min=m之前还要加什么判断

追答

判断m是不是输入的第一个值。。

追问

不太会...

追答

if (0 == i)。。。

温馨提示:答案为网友推荐,仅供参考
相似回答