问答详情
源自:6-12 综合练习

请问各位大佬佬,我的代码哪里有问题啊?我看不出来啊啊啊啊啊啊啊啊啊啊啊

#include <stdio.h>
int main()
{
    int score[N]={67,98,75,63,82,79,81,91,66,84};
    return 0;
}

int sum()
{
    for(N=0;N<9;N++);
    sum+=score[N];
    printf("十名学生的总分为%d.\n",sum);
    return sum;
}

int Max()
{
    for(N=0;N<9;N++);
    {
        if(score[N]<score[N+1])
        {
            temp=score[i];
            score[i]=score[i+1];
            score[i+1]=temp;
        }
        if(N!=9)
        printf("%d,",score[N]);
        else
        printf("%d.",score[N]);
        return 0;
    }
    printf("十名学生成绩的最高分为%d.\n",score[0]);
    printf("十名学生成绩的最低分为%d.\n",score[9]);
    return 0;
}

int mean()
{
    mean=sum/10;
    printf("十名学生成绩的平均分为%d.\n",mean);
    return 0;
}http://img4.mukewang.com/5dbd80f90001fbf319201080.jpg

就是这个!

拜托各位大佬佬了

提问者:qq_慕九州1474841 2019-11-02 21:14

个回答

  • weixin_慕桂英8536054
    2019-11-05 22:42:25

    给你参考一下我的,当然我把N直接打成10了,因为它这数组本身就十个数字,我怕N比较麻烦,所有换成了10,有什么不懂可以继续问我,我尽我所能看看

  • weixin_慕桂英8536054
    2019-11-05 22:40:37

    #include <stdio.h>
    int sa(int score[])
    {  
        int a,b=0;
        for(a=0;a<10;a++)
        {
            b+=score[a];
        }
         printf("总分:%d\n",b);
    }
    int sb(int score[])
    {
        int c,d;
        for(c=0;c<10;c++)
        {
            d=score[0];
            if(score[c]>d)
            d=score[c];
        }
        printf("最高分:%d\n",d);
    }
    int sc(int score[])
    {
        int e,f;
        for(e=0;e<10;e++)
        {
            f=score[0];
            if(score[e]<f)
            f=score[e];
        }
        printf("最低分:%d\n",f);
    }
    int sd(int score[])
    {
        int g;
        int a,b=0;
        for(a=0;a<10;a++)
        {
            b+=score[a];
        }
        g=b/10;
        printf("平均分:%d\n",g);
    }
    int se(int score[])
    {  
        int h,i,j;
        for(h=8;h>=0;h--)
        {
            for(i=0;i<=h;i++)
            {
                if(score[i]<score[i+1])
                {
                    int sum;
                    sum=score[i+1];
                    score[i+1]=score[i];
                    score[i]=sum;
                }
            }
        }
        printf("降序排列:  ");
        for(j=0;j<10;j++)
        {
            printf("%d ",score[j]);
        }
    }
    int main()
    {
        int score[10]={67,98,75,63,82,79,81,91,66,84};
        sa(score);
        sb(score);
        sc(score);
        sd(score);
        se(score);
        return 0;
    }


  • weixin_慕桂英8536054
    2019-11-05 22:38:55

    不好意思啊,今天满课,给你打了第一条消息没多久才发现重点其实应该是函数的调用

    我估计你应该是按照书的顺序学的,所有还没有学函数的调用,其实整个程序都应该在主函数里运行,也就是main()函数,那些计算平均数呀,最大值呀什么的都是你自己构建的自定义函数,但是要调用到主函数里才能运行,而且你的自定义函数的形参是数组,定义的格式也不对。我建议你先学一下慕课网第五章的函数的调用再来做这题,加油!

  • weixin_慕桂英8536054
    2019-11-05 14:08:45

    我能力有限,暂时找到以下问题

    1. 求总分的时候,条件应是N<10,这样才是0~9,十个数字

    2. 第二点问题是最致命的,你很多自定义的变量,如sum,temp,N都没有在每个函数里面定义

      我刚才改了一下,但是还是怪怪的,你可以对照答案再自己写一下,加油!