清泓隐月 发表于 2021-10-19 21:41:21

用冒泡算法排序时出错

我定义了三个浮点数,并进行排序,但得不到结果

#include <stdio.h>
void main()
{
    int i,j,temp;
    float a,b,c;
    float num={a,b,c,};
    scanf("%f %f %f",&a,&b,&c);
    for(i = 0;i < 3;i++)
    {
      for(j = 0;j<3;j++)
      {
            if(num>num)
            {
                temp = num;
                num = num;
                num = temp;
            }
      }
    }
    printf("%.2f %.2f %,2f\n",num,num,num);
}

梦回连营 发表于 2021-10-19 22:16:36

你代码里有很多不正确的地方哦, 可以参考下面对三个数的冒泡排序
#include <stdio.h>

int main(void)
{
    int i,j,temp;
    float num;

    printf("enter 3 num: ");
    scanf("%f %f %f",&num,&num,&num);

    for (i = 0; i < 2; i++)
    {
      for (j = 0; j < 2 - i; j++)
      {
            if ( num > num)
            {
                temp = num;
                num = num;
                num = temp;
            }
      }
    }

    printf("%.2f %.2f %.2f\n",num,num,num);
    return 0;
}

jhq999 发表于 2021-10-20 12:53:30


scanf("%f %f %f",&a,&b,&c);
float num={a,b,c,};

把这两行调换一下
页: [1]
查看完整版本: 用冒泡算法排序时出错