大神大神,呼叫大神!哪有错误

来源:6-12 综合练习

慕粉4105356

2017-02-01 16:49

#include <stdio.h>
//计算考试总分
int allScore(int score[])
{
    int sum=0;
    int i;
    for(i=0;i<N;i++)
    {
        sum+=score[i];
        printf("总分是: %d\n",sum);
    }
    return sum;
}    
//最高分
int maxScore(int score[])
{
    int max=-1;
    int i;
    for(i=0;i<N;i++)
    {
        if(score[i]>max)
        {
            max=score[i];
            printf("最高分是: %d\n",max);
        }
    }
    return max;
}    
//最低分    
int minScore(int score[])
{
    int min=100;
    int i;
    for(i=0;i<N;i++)
    {
        if(score[i]<min)
        {
            min=score[i];
            printf("最低分是: %d\n",min);
        }
    }
    return min;
}
//平均分
int getAvgScore(int score[])
{
    int avg=0;
    avg+=allScore(score)/N;
    printf("平均分是: %d\n",avg);
    return avg;
}
//考试成绩降序排序
int sortScore(int score[])
{
    int i,j;
    for(i=9;i>=0;i--)
    {
        for(j=0;j<=i;j++)
        {
            if(score[j]>score[j+1])
            {
                int temp;
                temp=score[j];
                score[j]=score[j+1];
                score[j+1]=temp;
            }
        }
    }
    return score;
}
int main()
{
    int score[N]={67,98,75,63,82,79,81,91,66,84};
    printf("%d\n",allScore(score),maxScore(score),minScore(score),getAvgScore(score));


写回答 关注

2回答

  • Nae_Luser
    2017-02-01 18:06:32
    已采纳

    1、所有函数,函数内已有输出在这里就没必要用返回值了

    2、平均分最好不用整形定义,结果不一定是整数

    3、排序函数,完全不需要返回值,对数组的排序直接作用于地址,函数对引用数组进行的改变直接作用于原数组

    4、主函数,输出部分,一个 %d 对应一个整形数,这里只有一个 %d,比需要输出的参数少

    慕粉4105...

    可以给我参考一下你的代码吗,谢谢

    2017-02-02 14:51:15

    共 1 条回复 >

  • 慕尼黑9628932
    2017-02-05 21:36:35
    #include <stdio.h>
    int sum(int score[])
    {
        int i,j=0;
        for(i=0;i<10;i++)
        {
            j+=score[i];
        }
        return j;
    }
    int hightst(int score[])
    {
    
        int i;
        for(i=0;i<9;i++)
        {
            if(score[i]>score[i+1])
            {
                int j=score[i];
                score[i]=score[i+1];
                score[i+1]=j;
            }
        }
        return score[9];
    }
    int lowst(int score[])
    {
        int i;
         for(i=0;i<9;i++)
          {
              if(score[i]<score[i+1])
              {
              	int j=score[i];
                 score[i]=score[i+1];
                 score[i+1]=j;
              }
            }
        
        return score[9];
    }
    int average(int score[])
    {
        int n=sum(score);
        
            int av= n/10;
        
        return av;
    }
    int down(int score[])
    {
        int i,j;
        for(i=8;i>=0;i--)
        {
            for(j=0;j<=i;j++)
            {
                if(score[j]<score[j+1])
                {
                    int n=score[j];
                    score[j]=score[j+1];
                    score[j+1]=n;
                }
                
            }
        }
        printf("降序排列:\n");
        for(i=0;i<10;i++)
        printf("%3d",score[i]);
        return 0;
    }
    
    int main()
    {
        int score[]={67,98,75,63,82,79,81,91,66,84};
        printf("sum %d\n;",sum(score));
        printf("hightst %d\n",hightst(score));
        printf("lowst %d\n",lowst(score));
        printf("average %d\n",average(score));
        down(score);
        return 0;
    }


C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题