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

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

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

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] ;


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

Steve_64 提问者

为什么只要比较一趟?
2018-07-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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