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

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

#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 回答

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

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

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

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

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

慕粉4105356 提问者

可以给我参考一下你的代码吗,谢谢
2017-02-02 回复 有任何疑惑可以回复我~
#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;
}


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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

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

进入课程

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

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