[英]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.