有人可以耐心看下代码错误吗

来源:6-12 综合练习

慕标1528459

2019-10-05 12:05

#include <stdio.h>

int sum(int score[10])

{

    int sums,i;

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

    {

        sums+=score[i];

    }

    return sums;

}

int max(int score[10])

{

    int maxs=0,i;

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

    {

        if (maxs<score[i])

        {

            maxs=score[i];

        }

    }

    return maxs;

}

int min(int score[10])

{

    int mins=max(score),i;

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

    {

        if (mins>score[i])

        {

            mins=score[i];

        }

    }

    return mins;

}

int ave(int score[10])

{

    int aves;

    aves=(sum(score))/10;

    return aves;

}

void a(int score[10])

{

    int i,j,flag;

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

    {

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

        {

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

            {

                flag=score[j];

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

                score[j+1]=flag;

            }

        }

    }

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

    {

        if (i!=9)

        {

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

        }

        else 

        {

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

        }

    }

}

int main()

{

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

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

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

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

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

    a(score);

    return 0;

}


写回答 关注

2回答

  • Poplar_Y
    2019-10-29 15:36:42

    你的问题出在:没有定义局部变量sums的值

    你应该将 int sums,i; 改为 int sums=0,i;

    如果你不定义局部变量sums的值,其值在你输出总分时已经储存在内存中,当你再次使用sums,它的值默认不为0,那么它的值不确定,因此平均数输出值发生错误。


    qq_慕用5... 回复Poplar...

    平均数的计算过程中有sums么?求大佬解答

    2020-02-07 11:00:02

    共 2 条回复 >

  • qq_青鸾_03394339
    2019-10-16 00:44:37

    #include <stdio.h>


    int sum(int score[10])


    {


        int sums,i;


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


        {


            sums+=score[i];


        }


        return sums;


    }


    int max(int score[10])


    {


        int maxs=0,i;


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


        {


            if (maxs<score[i])


            {


                maxs=score[i];


            }


        }


        return maxs;


    }


    int min(int score[10])


    {


        int mins=max(score),i;


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


        {


            if (mins>score[i])


            {


                mins=score[i];


            }


        }


        return mins;


    }


    int ave(int score[10])


    {


        int aves;


        aves=(sum(score))/10;


        return aves;


    }


    void a(int score[10])


    {


        int i,j,flag;


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


        {


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


            {


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


                {


                    flag=score[j];


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


                    score[j+1]=flag;


                }


            }


        }


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


        {


            if (i!=0)


            {


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


            }


            else 


            {


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


            }


        }


    }


    int main()


    {


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


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


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


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


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


        a(score);


        return 0;


    }


C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题