为什么这样写算不出正确的最低分?

来源:6-12 综合练习

Steve_64

2018-07-27 13:40

#include <stdio.h>

int ALL(int score[])

{

    int num=0;

    int i;

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

    {

        num+=score[i];

    }

    return num;

}


int TOP(int score[])

{

int i;

int j;

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

{

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

{

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

{

score[i]=score[i+1];

}

}

}

return score[0];

}


int LOW(int score[])

{

int i;

int j;

int min;

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

{

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

{

if(score[i]>score[i+1])

{

score[i]=score[i+1];

}

}

}

return score[0];

}


int main()

{

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

    printf("总分%d\n",ALL(score));

    printf("最高分%d\n",TOP(score));

    printf("最低分%d\n",LOW(score));

    return 0;

}


写回答 关注

1回答

  • 小菜菜nan
    2018-07-27 15:03:30

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

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

    if(score[i]>score[i+1])

    score[i]=score[i+1] ;

    这是你写的最低分的代码,问题出在只用比较一趟就可以,就是

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

    if(score[i]>score[i+1])

    score[i]=score[i+1] ;


    Steve_...

    为什么只要比较一趟?

    2018-07-27 15:13:42

    共 1 条回复 >

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题