猿问

错误在哪,怎么改呢?

#include <stdio.h>
int ZongScore()
{
 int i;
    int sum=0;
    for(i=0;i<10;i++)
    {
     int score[];
  sum=sum+score[i];
    }
    printf("考试的总分是%d",sum);
    return 0;
}
int HighScore()
{
    int i;
    score=score[0];
    for(i=0;i<10;i++)
    {
        if(score<score[i])
        {
            score=score[i];
        }
    }
    printf("考试的最高分是%d",score);
    return 0;
}
int LowScore()
{
   int i;
    score=score[0];
    for(i=0;i<10;i++)
    {
        if(score>score[i])
        {
            score=score[i];
        }
    }
    printf("考试的最低分是%d",score);
    return 0;
}
int PingScore()
{
    int ZongScore;
    score=score/10;
    printf("考试的平均分是%d",score);
    return 0;
}
int PAIScore()
{
    int i,j;
    for(i=8;i>=0;i--)
    {
        for(j=0;j<=i;j++)
        {
            if(score[j]<score[j+1])
            {
                int score;
                score=score[j];
                score[j]=score[j+1];
                score[j+1]=score;
            }
        }
    }
    print("考试成绩降序排列\n");
    for(i=0;i<10;i++)
    {
        if(i != 9)
        printf("%d,",score[i]);
        else   
        printf("%d",score[i]);
    }
    return 0;
}
int main()
{
    int score[N]={67,98,75,63,82,79,81,91,66,84};
    ZongScore();
    HighScore();
    LowScore();
    PingScore();
    PAIScore();
    return 0;
}

贾俊蕊
浏览 1323回答 1
1回答

计量赵子龙

这是我修改后的代码,以及运行结果#include <stdio.h>#define N 10int ZongScore(int score[]){    int i;    int sum=0;    for(i=0;i<N;i++)    {        sum=sum + score[i];    }    printf("考试的总分是%d\n",sum);}int HighScore(int score[]){    int i;    int HighScore=score[0];    for(i=0;i<N;i++)    {        if(HighScore<score[i])        {            HighScore=score[i];        }    }    printf("考试的最高分是%d\n",HighScore);}int LowScore(int score[]){   int i;   int LowScore=score[0];    for(i=0;i<N;i++)    {        if(LowScore>score[i])        {            LowScore=score[i];        }    }    printf("考试的最低分是%d\n",LowScore);}int PingScore(int score[]){    int i,ZongScore=0;    for(i = 0 ;i < N; i ++)        ZongScore+=score[i];    int PJscore=ZongScore/N;    printf("考试的平均分是%d\n",PJscore);}int PAIScore(int score[]){    int i,j;    for(i=0;i<N;i++)    {        for(j=0;j<N-i-1;j++)        {            if(score[j]<score[j+1])            {                int temp;                temp=score[j];                score[j]=score[j+1];                score[j+1]=temp;            }        }    }    printf("考试成绩降序排列\n");    for(i=0;i<N;i++)        printf("%d,",score[i]);}int main(){    int score[N]={67,98,75,63,82,79,81,91,66,84};    ZongScore(score);    HighScore(score);    LowScore(score);    PingScore(score);    PAIScore(score);    return 0;}感觉你应该注意一下几点:1.注意使用define宏定义,提高代码的灵活性;2.注意函数的定义,要赋给函数正确的参数;不要随意使用return 0,这是用来结束程序的,如果你第一个函数最后就用return 0,那后面的函数不会执行,也就失去了定义和使用的价值;3.正确使用冒泡排序,这个经典的排序方法实际用途很广发,计算机考级也可以说是必考的。初学C还是要不怕困难多多练习,希望你在今后学习的路上不断提高,受益匪浅。
随时随地看视频慕课网APP
我要回答