Ly145666 @ 2023-12-08 18:48:04
using namespace std; int main() { int x,y,z,a,b; cin>>x; y=0;a=0; for(int i=x;i>=1;i--) { cin>>z; if(z>y) y=z; if(z<a) a=z; b+=z; } cout<<fixed<<setprecision(2)<<1.0*(b-a-z)/(x-2); return 0; }
by kkksc_san @ 2023-12-17 13:55:06
您的代码很工整
by kkksc_san @ 2023-12-17 13:55:46
我看不出来该怎么改
by kkksc_san @ 2023-12-19 13:59:53
求你了换个行
by Ly145666 @ 2024-01-01 15:08:50
#include<iostream>
#include<iomanip>
using namespace std;
int main() { int x,y,z,a,b; cin>>x; y=0;a=0;
for(int i=x;i>=1;i--) {
cin>>z; if(z>y) y=z; if(z<a) a=z; b+=z; } cout<<fixed<<setprecision(2)<<1.0*(b-a-z)/(x-2); return 0; }
by hoty2011 @ 2024-01-01 16:50:55
首先,累计总值的b因为定义在main函数里面,如果不赋初值0的话,z就等于一个随机值。可以把b定义在main函数外,也可以赋个初值0。
如下:
int x,y,z,a,b=0;
或:
int x,y,z,a,b;
int main(){
其次,求最小值的变量a,它的初值应该为大于10的任何一个数,因为题目说了:z是0-9之间的任何一个数。
如下:
y=0;a=11;
最后,输出的表达式的:1.0*(b-a-y)/(x-2)中,b不应该减z,应该减求最小值的变量y。
如下:
cout<<fixed<<setprecision(2)<<1.0*(b-a-y)/(x-2);
就AC了。