@[小小怪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