当我输入
3
1
2
3
时
我的min还是初始值12
by 8716555qwe @ 2022-10-14 20:53:20
@[8716555qwe](/user/784116) 我不是很理解您有什么问题
by VitrelosTia @ 2022-10-14 20:54:55
很明显我不会C 但我会C++
```cpp
#include <bits/stdc++.h>
using namespace std;
int p[1010],n;
int main()
{
cin >> n;
for(int i = 0;i < n;i++) cin >> p[i];
sort(p,p + n);
float a = 0;
for(int i = 1;i < n - 1;i++) a = a + float(p[i]);
cout << setprecision(3) << float(a / (n - 2));
return 0;
}
```
**原理:模拟。**
p数组是存分数的。
sort是排序整个p数组(不知道C有没有)。
第一个for输入,第二个是自动省略掉了最小和最大的进行累加。
至于cin与cout,和scanf与printf等价。
by CooooldWind_ @ 2022-10-14 21:24:22
@[VT_SODC3DC3BSLF](/user/672333)
抱歉,这么晚才回复。再说这个题吧,可能我没表达清楚吧。其实我想说的是,当我依次输入3 1 2 3时,我的max的数值会从1变为2再变成3,而我的min的数值将仍是初始值12。而最后(result-max-min)/(x-2)的数值将会是(6-3-12)/1=-9.00,这是不对的。
也就是说当我按从小到大的顺序输入时,我得到的是错误的答案。
by 8716555qwe @ 2022-10-17 19:44:41
@[ColdWind6666](/user/747369)
谢谢
by 8716555qwe @ 2022-10-17 19:45:34