为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下各位为什么我这里面的平均分没有精确到前两位和为什么最低分是-1000000多

#include <stdio.h>

int ZF(int score[]);

float PG(int score[]);

int ZG(int score[]);

int ZD(int score[]);

int PX(int score[]);

int main()

{

    int i;

    int score[10]={67,98,75,63,82,79,81,91,66,84};

    printf("总分为:%d\n",ZF(score));

    printf("平均分为:%2f\n",PG(score));

    printf("最高分为:%d\n",ZG(score));

    printf("最低分为:%d\n",ZD(score));

    PX(score);

    printf("考试成绩降序排序%d\n",PX(score));

    for(i=0;i<10;i++)

    {

       if(i!=9) printf("%d,",score[i]);

       else printf("%d",score[i]);

    }    

    return 0;

}

int ZF(int score[])

{

    int i, sum;

    for(i=0;i<10;i++)

    {

        sum+=score[i];

    }

    return sum;

}

float PG(int score[])

{

    float avg=0.0;

    avg=((float)ZF(score))/10;

    return avg;

}

int ZG(int score[])

{

    int i,max=score[i];

    for(i=0;i<10;i++)

    {

        if(max<score[i])

        {

            max=score[i];

        }

    }

    return max;

}

int ZD(int score[])

{

    int i,mai=score[i];

    for(i=0;i<10;i++)

    {

        if(mai>score[i])

        {

            mai=score[i];

        }

    }

    return mai;

}

int PX(int score[])

{

    int i,j,value=0;

    for(i=9;i>=0;i--)

    {

        for(j=0;j<i;j++)

        {

            if(score[j]<score[j+1])

            {

                value=score[j];

                score[j]=score[j+1];

                score[j+1]=value;

            }

        }

    }

    return value;

}


正在回答

1 回答

printf("平均分为:%.2f\n",PG(score));

2前少了个点


 int i,mai=score[i];中mai=score[i]编译错误,应改为 int i=0;int mai=score[i];

0 回复 有任何疑惑可以回复我~
#1

风韵犹存的小明 提问者

非常感谢!
2018-07-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问一下各位为什么我这里面的平均分没有精确到前两位和为什么最低分是-1000000多

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信