40分求助!求大佬帮忙看看。

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

@[小小怪a](/user/464323) az码风完全不一样啊(~~就是看不懂~~)
by 梦游的小雪球 @ 2021-02-01 19:00:46


@[小小怪a](/user/464323) 修改后 AC 代码如下: ``` cpp #include <stdio.h> void input (int a,int b,int s[100][100]); void ave (int a,int b,int s[100][100]); int main() { int a,b,s[100][100]; scanf("%d %d",&a,&b); input(a,b,s); ave(a,b,s); return 0; } void input (int a,int b,int s[100][100]) { int i,j; for (i=0; i<a; i++) for(j=0; j<b; j++) scanf("%d",&s[i][j]); } void ave (int a,int b,int s[100][100]) { int i,j,max1=-256489,min=10000,sum=0; double max2=-256489,aver[100]; for (i=0; i<a; i++) { sum=0; max1=0,min=10;//多次计算赋初值 for(j=0; j<b; j++) { if(s[i][j]<min) min=s[i][j]; if(s[i][j]>max1) max1=s[i][j]; sum=sum+s[i][j]; } aver[i]=1.0*(sum-max1-min)/(b-2);//注意先转 double 再做除法 } for(i=0; i<a; i++) { if(aver[i]>max2) max2=aver[i]; } printf("%.2lf",max2); } ```
by wsyhb @ 2021-02-01 19:08:43


@[小小怪a](/user/464323) 定义警告 max1和min的初始化放循环里面试一下?
by AFOed @ 2021-02-01 19:17:03


|