xiaopang666 @ 2023-08-08 20:24:20
#include<stdio.h>
int main()
{
int n,i,j,t;
float a,sum=0;
scanf("%d",&n);
int b[n];
for(i=0;i<n;i++)
scanf("%d",&b[i]);
for(j=0;j<n;j++)
for(i=0;i<n;i++)
{
if(b[i]<b[i+1])
{ t=b[i];
b[i]=b[i+1];
b[i+1]=t;
} }
for(i=0;i<n;i++)
sum+=b[i];
sum=sum-b[0]-b[n-1];
a=sum/(n-2);
printf("%.2f",a);
return 0;
}//10 8 3 9 9 6 6 10 8 5 8 7.38
by wbhqm @ 2023-08-10 08:42:04
@xiaopang666 不需要排序,在输入里找最大最小值,用总值去除n-2即可
by wbhqm @ 2023-08-10 08:57:09
@xiaopang666
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
int n,i,min_fs=11/*最小值设最大*/,max_fs/*最大值设最小*/;
int he=0,t;
cin>>n;
for(i=0;i<n;i++)
{
scanf("%d",&t);
he+=t;
min_fs=min(min_fs,t);
max_fs=max(max_fs,t);
}
cout<<fixed<<setprecision(2)<<(he-min_fs-max_fs)*1.0/(n-2);
return 0;
}
我不太会用scanf和printf,AC代码,能给你提供点帮助