簡體   English   中英

氣泡排序(C語言)

[英]Bubble sort in c language

我正在使用以下代碼進行選擇排序,但它始終返回0、0、0,...。

#include<stdio.h>


main(){

  int i,j;
  int s=8;
float  temp;
float  a[8] = {99, 80.5, 66, 45, 02, 36, 45, 80};


  for(i=0;i<s;i++){
      for(j=i+1;j<s;j++){
           if(a[i]>a[j]){
               temp=a[i];
              a[i]=a[j];
              a[j]=temp;
           }
      }
  }

  printf("After sorting is: ");
  for(i=0;i<s;i++)
      printf(" %d",a[i]);

  return 0;
}

它適用於int變量,但不適用於float。 怎么了?

排序(我猜它是某種冒泡排序算法)看起來不錯。 但是,輸出是錯誤的,您必須將%f說明符用於浮點值而不是%d (用於整數)。

 for(i=0;i<s;i++)
        printf(" %f",a[i]);

問題是您的printf()中的格式說明符。

使用%f代替%d,您的問題已解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM