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

关于降序排列的求助!

#include <stdio.h>

int main()

{

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

    

    //总分

    int sum=0;

    int i;

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

    {

        sum=sum+score[i];

    }

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

    

    //最高分

    int max=0;

    int j;

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

    {

        if(max<score[j])

        {max=score[j];}

    }

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

    

    //最低分

    int min=200;

    int q;

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

    {

        if(min>score[q])

        {min=score[q];}

    }

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

    

    //平均分

    double avg=sum/10;

    printf("平均分%f\n\n",avg);

    

    //考试成绩降序排列

    int temp;

    int m,n;

    printf("#####考试降序排列#####\n\n");

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

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

    {

        temp=score[m];

        score[m]=score[m+1];

        score[m+1]=temp;

    }

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

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

    

    

    

    

    return 0;

}

-------------------------------------------------------------------------------------------------

各位大神最后这个降序排列,运行结果是没有排列之前的,为什么?哪里出错了额

正在回答

3 回答

printf("#####考试降序排列#####\n\n");

   for(n=8;n>=0;n--)

    {

    for(n=0;m<9;n++)

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

    {

        temp=score[m];

        score[m]=score[m+1];

        score[m+1]=temp;

    }

   }

可以改成这样..............................

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

 改成这样就可以了//考试成绩降序排列

 


    int temp;

    int m,n;

    printf("#####考试降序排列#####\n\n");

    for(m=0;m<9;m++)
  for(n=m+1;n<10;n++)

    if(score[m]<score[n])

    {

        temp=score[m];

        score[m]=score[n];

        score[n]=temp;

    }

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

是全局变量什么的吗?我不太懂。。

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

举报

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

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

进入课程

关于降序排列的求助!

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