新手不会做!!!

P5726 【深基4.习9】打分

dengtianrui10 @ 2024-05-16 20:35:14


by Special_Tony @ 2024-05-16 20:36:13

@dengtianrui10 题解是个好东西


by shimucheng @ 2024-05-16 20:57:40

AC代码


#include<bits/stdc++.h>
using namespace std;
int n,a[10001];
double ans;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    for(int i=2;i<=n-1;i++) ans+=a[i];
    printf("%.2lf",ans/(n-2));
    return 0;
}

by 20130709aaa @ 2024-05-16 21:04:35

int n/评委个数/; cin>>n; double a[n],m=114514/最小min/,M=-114514/最大MAX/,h=0/总和/,j; for(int i=0;i<n;i++){ cin>>a[i];}//输入and初始化 for(int i=0;i<n;i++){ h+=a[i]; if(a[i]>M){ M=a[i];} if(a[i]<m){ m=a[i];}//计算总分、最低分和最高分} j=n-2;//有效评委个数 printf("%.2f\n",(h-m-M)/j/平均分/);//输出


by 20130709aaa @ 2024-05-16 21:08:30

int n/评委个数/; cin>>n; double a[n],m=114514/最小min/,M=-114514/最大MAX/,h=0/总和/,j; for(int i=0;i<n;i++){ cin>>a[i];}//输入and初始化 for(int i=0;i<n;i++){ h+=a[i]; if(a[i]>M){ M=a[i];} if(a[i]<m){ m=a[i];}//计算总分、最低分和最高分} j=n-2;//有效评委个数 printf("%.2f\n",(h-m-M)/j/平均分/);//输出


by hyh0174 @ 2024-05-16 21:12:53

@20130709aaa 使用Markdown好吗?


by 20130709aaa @ 2024-05-18 10:17:25


 #include<bits/stdc++.h>
using namespace std;
int main(){
    int n/*评委个数*/;
    cin>>n;
    double a[n],m=114514/*最小min*/,M=-114514/*最大MAX*/,h=0/*总和*/,j;
    for(int i=0;i<n;i++){
        cin>>a[i];}//输入and初始化 
    for(int i=0;i<n;i++){ 
        h+=a[i]; 
        if(a[i]>M){ 
            M=a[i];} 
        if(a[i]<m){ 
            m=a[i];}//计算总分、最低分和最高分
        } 
    j=n-2;//有效评委个数 
    printf("%.2f\n",(h-m-M)/j/*平均分*/);//输出
    return 0;}

by wandou_pea @ 2024-05-22 21:45:49

用变量存最大最小值,把你存的最大最小值在所有评委的打分中删除相应打分,最后求平均数,也就是去掉最高分和最低分的总分/评委人数-2(因为去掉了两个评委的打分),最后用printf输出带两位小数的双精度浮点型(或浮点型),也就是%f和%lf,printf("%.2lf",最高分和最低分的总分/评委人数-2qwq有误欢迎改正,想一下怎么存最大值最小值


by anyiming @ 2024-05-22 23:00:53

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    int a[n];
    cin >> a[0];
    int maxi=0,mini=0;
    for (int i=1; i<n; i++){
        cin >> a[i]; 
        if (a[i] > a[maxi]){
            maxi = i;
        }else if (a[i] < a[mini]){
            mini = i;
        }
    }
    a[mini] = a[maxi] = 0;
    double c=0;
    for (int i=0; i<n; i++){
        c += a[i];
    }
    cout << fixed << setprecision(2) << c / (n-2);
    return 0;
}

by TimADE @ 2024-05-25 21:12:53

#include<iostream> 
#include<iomanip> 
using namespace std; 
int main(){ 
    int n,p=-1000000,r=1000000,sum=0; 
    cin>>n; 
    for(int i=0;i<n;i++){ 
        int x; cin>>x; 
        if(x>p) 
            p=x; 
        if(x<r) 
            r=x; 
            sum+=x;
    }
    cout<<fixed<<setprecision(2)<<((1.0*sum)-p-r)/(n-2);
    return 0;
}

|