为啥打出来结果是0.00????

回复帖子

@鎏金  2020-10-25 10:17 回复
#include<iostream> 
#include<cstdio>
using namespace std;
int a[100005],sum,m,n,x,ans=0,maxx=0,minn=1e9;
int main()
{
    cin>>n>>m;
    for(int j=1;j<=n;++j){
    a[j]=0;
    for(int i=1;i<=m;++i){cin>>x;ans+=x;minn=min(minn,x);maxx=max(maxx,x);}
    a[j]=(ans-maxx-minn)/(m-2);
    sum=max(a[j],sum);  
    ans=0;
    minn=1e9;
    maxx=0;
    }
    printf("%.2f",&sum);
    return 0;
}
@Aynxul03 2020-10-25 10:52 回复 举报

@鎏金 sum定义为double即可,或者输出时再计算,否则无法保留小数(会丢失精度)

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。