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

为何最后输出排序的时候有个大数字的垃圾数字?


#include <stdio.h>

#define N 10

int scoreSum(int score[])

{

    int i;

    int sum = 0;

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

    {

        sum += score[i];

    }

    return sum; 

}


int scoreMax(int score[])

{

    int i,max;

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

    {

        max = score[0];

        if(score[i]>max)

        max = score[i];

    }

    return max;

    

}


int scoreMin(int score[])

{

    int i,min;

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

    {

        min = score[0];

        if(score[i]<min)

        min = score[i];

    }

    return min;

}


int scoreAvg(int score[])

{

    int i;

    int sum = 0;

int avg = 0;

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

    {

        sum += score[i];

    }

    avg = sum/N;

    return avg; 

}


int bubbleSort(int score[])

{

    int i,j;

    int temp=0;

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

    {

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

        {

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

            {

                temp = score[j];

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

                score[j+1] = temp;

            }

        }

    }

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

    {

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

    }

return 0;

}


int main()

{

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

    int sum,avg,max,min;

sum = scoreSum(score);

avg = scoreAvg(score);

max = scoreMax(score);

min = scoreMin(score);

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

printf("平均分是:%d\n",avg);

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

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

    bubbleSort(score);

    return 0;

}


正在回答

1 回答

score[j]<score[j+1];当j=9,时没有定义score[10],而且最大最小输出不对。

#include <stdio.h>

#define N 10

int scoreSum(int score[])

{

    int i;

    int sum = 0;

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

    {

        sum += score[i];

    }

    return sum; 

}


int scoreMax(int score[])

{

    int i,max;

     max = score[0];

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

    {

        if(score[i]>max)

        max = score[i];

    }

    return max;

    

}


int scoreMin(int score[])

{

    int i,min;

     min = score[0];

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

    {

        if(score[i]<min)

        min = score[i];

    }

    return min;

}


int scoreAvg(int score[])

{

    int i;

    int sum = 0;

int avg = 0;

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

    {

        sum += score[i];

    }

    avg = sum/N;

    return avg; 

}


int bubbleSort(int score[])

{

    int i,j;

    int temp=0;

        for(j=0;j<N-1;j++)

        {

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

            {

                temp = score[j];

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

                score[j+1] = temp;

            }

        }

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

    {

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

    }

return 0;

}


int main()

{

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

    int sum,avg,max,min;

sum = scoreSum(score);

avg = scoreAvg(score);

max = scoreMax(score);

min = scoreMin(score);

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

printf("平均分是:%d\n",avg);

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

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

    bubbleSort(score);

    return 0;

}


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

向上爬的鱼 提问者

非常感谢!
2016-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为何最后输出排序的时候有个大数字的垃圾数字?

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