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

请大家看一下这个冒泡排序法哪里错了 我觉得没毛病啊

#include <stdio.h>

#define N 10

int d(int score[])

{

    int i;

    int j;

    for(i=8;i>=0;i++)

    {

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

        {

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

            {

                int mtc;

                mtc=score[j];

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

                score[j+1]=mtc;

            }

        }    

    }

    

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

d(score);

return 0;


正在回答

4 回答

排序父循环i--,不是自加

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

我用的冒泡是这样写的

#include<stdio.h>

int main()

{

                int i[]={0,.7,2,3,5,4,1,6,9}

                int a = sizeof(i)/sizeof(i[0])-1;//这个占的字符长度除以类型也就是数组里面的个数,-1是循环次数

                iht b = 1;

                int c;

                while(b)

                {

                            b = 0;//不能变成死循环对吧

                            for(c=0;c<a;c++)

                            {

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

                                        {

                                                    buf       = i[c];

                                                    i[c]       = i[c+1];

                                                    i[c+1]   = buf;

                                                    b = 1; //如果有比较给b为真

                                         }

                            }

                            a--;//应为每次比较完之后最大的值会存在最前面,所以为了占内存?

                }   

                for(a=0;a<sizeof(i)/sizeof(i[0]);a++)

                {

                            printf("%d\t",i[a]);

                }

                return 0;

                getchar();//应为我用的是VS编译器.

}

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

把i++改成i--(这种细节我也老错)?

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

第一个for循环是死循环


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

举报

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

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

进入课程

请大家看一下这个冒泡排序法哪里错了 我觉得没毛病啊

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