Qiuxi @ 2023-06-02 10:57:57
#include<bits/stdc++.h>
using namespace std;
int main()
{
double num;
int n,a[1002],b=-1,s=100000,he=0,o;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>b) b=a[i];
if(a[i]<s) s=a[i];
}
for(int i=1;i<=n;i++)
{
he+=a[i];
}
o=he-b-s;
num=o/(n-2);
printf("%.2lf",num);
return 0;
}
by SZ_Metro_Line14 @ 2023-06-02 11:16:56
@Qiuxi sort了解一下
by Qiuxi @ 2023-06-02 11:20:06
@SZ_Metro_Line14 不好意思,没学过sort呢
by SZ_Metro_Line14 @ 2023-06-02 11:26:05
@Qiuxi 哦问题不在求最大最小,那个18行那里格式没有切换,在o后面乘以1.0即可
by Voltaris @ 2023-06-11 11:54:55
sort 有三个参数 (1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。 一般两个参数是sort(数组+1,数组+n+1) 默认升序排列
by 1000YMH @ 2023-07-26 09:33:05
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,i,s[1001],d=11,f=0;
double g=0;
cin>>a;
for(i=0;i<a;i++){
cin>>s[i];
if(s[i]<d)d=s[i];
if(s[i]>f)f=s[i];
}
for(i=0;i<a;i++)g+=s[i];
g=(g-d-f)/(a-2);
cout<<fixed<<setprecision(2)<<g;
}