求指正

P5726 【深基4.习9】打分

MengXi1128 @ 2024-07-19 17:13:45

#include<bits/stdc++.h>
using namespace std;
    long long a,b=11,c=0;
    long double aa[1001],d=0;
int main(){
    cin>>a;
    for(int i=1;i<=a;i++){
        cin>>aa[i];
    }
    for(int i=1;i<=a;i++){
        b=min(b,aa[i]);
    }
    for(int i=1;i<=a;i++){
        if(aa[i]==b){
            aa[i]=0;
            break;
        }
    }
    for(int i=1;i<=a;i++){
        c=max(c,aa[i]);
    }
    for(int i=1;i<=a;i++){
        if(aa[i]==c){
            aa[i]=0;
            break;
        }
    }
    b=0;
    for(int i=1;i<=a;i++){
        b+=aa[i];
    }
    d=b/(a-2);
    cout<<fixed<<setprecision(2)<<d;
    return 0;}

by TODAYS @ 2024-07-19 17:25:57

@ MengXi1128浮点数不能跟整数比较最大最小值


by TODAYS @ 2024-07-19 17:42:06

@MengXi1128 我帮你把代码改好了,如下

#include<bits/stdc++.h>
using namespace std;
    long long a,b=11,c=0;
    long long aa[1001]; // 下面min()比较赋值函数不能跟不同类行的值进行比较
    long double d;
int main(){
    cin>>a;
    for(int i=1;i<=a;i++){
        cin>>aa[i];
    }
    for(int i=1;i<=a;i++){
        b=min(b,aa[i]);
    }
    for(int i=1;i<=a;i++){
        if(aa[i]==b){
            aa[i]=0;
            break;
        }
    }
    for(int i=1;i<=a;i++){
        c=max(c,aa[i]);
    }
    for(int i=1;i<=a;i++){
        if(aa[i]==c){
            aa[i]=0;
            break;
        }
    }
    b=0;
    for(int i=1;i<=a;i++){
        b+=aa[i];
    }
    d=b*1.0/((a-2)*1.0); // 浮点数与整数不能做运算,要将整数*1.0后变成浮点数才能进行运算
    cout<<fixed<<setprecision(2)<<d;
    return 0;}

by MengXi1128 @ 2024-07-19 17:48:21

@efdfw 谢谢,已关


|