2 linglong svip Linglong_svip 于 2016.12.31 22:32 提问

请大神看一下这道c语言的代码错在哪里

//5位歌手,4位评委,比分是去掉一个最高分和一个最低分,取平均,输出前三位
#include
int main()
{
void pm(int a[5][4]);
int y[5][4],i,j;
char x[5][10];
printf("请输入5位歌手的名字\n");
for(i=0;i<5;i++)
gets(x[i]);
printf("请对应输入4位评委给出的成绩\n");
for(i=0;i<5;i++)
for(j=0;j<4;j++)
scanf("%d",&y[i][j]);
pm(y);
return 0;
}

void pm(int a[5][4])
{
int min,max,m1=0,m2=0,i,j,b[5]={0},t;
double ave[5] ;
for(i=0;i {
min=max=a[i][0];
for(j=0;j {
if(max {
m1=j;
max=a[i][j];
a[i][m1]=0;
}
if(min>a[i][j])
{
m2=j;
min=a[i][j];
a[i][m2]=0;
}
}
a[i][m1]=0;
a[i][m2]=0;
}

for(i=0;i<5;i++)
    for(j=0;j<4;j++)
        b[i]+=a[i][j];
for(i=0;i<5;i++)
    ave[i]=b[i]/4.0;

for(i=0;i<4;i++)
{
    t=0;
    for (j=0;j<4;j++)
    {
        if(ave[j]<ave[j+1])
        {
            t=ave[j];
            ave[j]=ave[j+1];
            ave[j+1]=t;
        }
    }
}
for(i=0;i<3;i++)
    printf("五位歌手中前三的成绩为%lf\n",ave[i]);

}

2个回答

caozhy
caozhy   Ds   Rxr 2016.12.31 22:36
YXTS122
YXTS122   2017.01.01 11:52

4位评委,去掉一个最高分,去掉一个最低分,求平均值的话应该是除以2,怎么是除以4

Linglong_svip
Linglong_svip 这确实是个小错误
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!