这题用c咋写啊大佬们做出来的能发发么。

P5738 【深基7.例4】歌唱比赛

```c #include<stdio.h> int main() { int n , m; scanf("%d%d" , &n , &m); double ans = 0; for(int i = 1 ; i <= n ; i++) { double count = 0; int maxx = -1; int minn = 11; for(int j = 1 ; j <= m ; j++) { int c; scanf("%d" , &c); if(maxx < c) { maxx = c; } if(minn > c) { minn = c; } count += c; } count -= maxx + minn; if(count > ans) { ans = count; } } printf("%.2lf",ans/(m - 2)); return 0; } ```
by 玩玩就好7744 @ 2020-11-19 21:14:18


当前的总分是所有输入的数据加起来的和减去最大值和最小值。 要使答案最大就需要保证总值最大 之后输出就好了 而且这样也保证了不会出现精度问题
by 玩玩就好7744 @ 2020-11-19 21:15:43


@[老庞啥也不会](/user/428983)
by 玩玩就好7744 @ 2020-11-19 21:15:54


@[老庞啥也不会](/user/428983) ![](https://tva1.sinaimg.cn/large/0081Kckwgy1gkusu25hrmj31yu0u0gwa.jpg)
by CGDGAD @ 2020-11-19 21:24:12


@[玩玩就好7744](/user/55680) 好嘞谢谢宁
by 老庞啥也不会 @ 2020-11-20 15:19:19


@[NSObject](/user/357545) 题解里都是c++我不会
by 老庞啥也不会 @ 2020-11-20 15:19:55


```c #include<stdio.h> int main() { void sort(int m,int n,int a[100][100]); int m,n,a[100][100]; double t; scanf("%d %d",&m,&n); int i,j; for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); sort(m,n,a); return 0; } void sort(int m,int n,int a[100][100]) { double max(int m,double b[100]); int f,k; double b[100]={0},c; int i,j; for(i=0;i<m;i++){ f=k=a[i][0]; for(j=0;j<n;j++){ if(f<a[i][j]) f=a[i][j]; else if(k>a[i][j]) k=a[i][j]; b[i]+=a[i][j]; } if(n<=2) b[i]=b[i]/n; else b[i]=(b[i]-f-k)/(n-2); } c=max(m,b); printf("%.2f",c); } double max(int m,double b[100]) { int i; double d; d=0; for(i=0;i<m;i++){ if(d<b[i]) d=b[i]; } return(d); } ``` 只会c的脆弱萌新
by wangyangm @ 2020-12-12 17:28:04


``` #include<stdio.h> struct stu { int score[20]; }stu[100]; int main() { int n,m,i,j,sum=0; float max=0,min=10; float s[20]; scanf("%d%d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&stu[i].score[j]); } printf("\n"); } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(stu[i].score[j]>max) { max=stu[i].score[j]; } if(stu[i].score[j]<min) { min=stu[i].score[j]; } sum+=stu[i].score[j]; } s[i]=(sum-max-min)/(m-2); sum=0; } max=0; for(i=0;i<n;i++) { if(s[i]>max) max=s[i]; } printf("%0.2f",max); } ```
by GengarZx @ 2020-12-22 17:31:55


|