运行不成功有啥问题?

来源:6-12 综合练习

ANU_Yang

2017-12-21 20:36

加了算平均数的部分,计算的和也会翻一倍,是为啥

写回答 关注

1回答

  • 张二狗的彳亍
    2017-12-22 15:07:07

    你没把sum 归零,在计算平均值时又计算了一遍,正确程序如下

    #include <stdio.h>

    #define N 10

    int sum;

    int max,min,ave;

    int getsum(int score[])

    {

    int i;

    sum=0;

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

    {

    sum+=score[i];

    }

    return sum;

    }


    int average(int score[])

    {


    ave=getsum(score)/N;

    return ave;

    }



    int sortscore(int score[])

    {

        int i,j;

        int temp;

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

        {

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

            {

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

            { temp=score[j];

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

              score[j+1]=temp;

            }

            }

    }

    max=score[9];

    min=score[0];

    return max,min;

    }


    void descendscore(int score[])

    {

    int i,j;

        int temp;

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

        {

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

            {

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

            { temp=score[j];

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

              score[j+1]=temp;

            }

            }

    }

    for (i=0;i<=N-1;i++)

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

    }


    int main()

    {

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

        getsum(score);

        sortscore(score);

        average(score);

       printf("总分是%d\n",sum);

       printf("最高分是%d\n",max);

    printf("最高分是%d\n",min);

        printf("平均分是%d\n",ave);

        descendscore(score);

        

        return 0;

    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题