大家看一下

P5726 【深基4.习9】打分

当我输入 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


|