输入十个浮点数比较绝对值大小,进行冒泡排序,由大到小输出,不知道哪里有问题。
#include<stdio.h>
#include<math.h>
int main(){
int i,j;
float s[10]={0.0},k;
for(i=0;i<10;i++)
scanf("%f",&s[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++){
if(fabs(s[j])<fabs(s[j+1]))
k=s[j];
s[j]=s[j+1];
s[j+1]=k;
}
for(i=0;i<9;i++) printf("%.2f,",s[i]);
printf("%.2f.",s[9]);
return 0;
}
输入样例
34.5 -234 90.3 23.5 24.8 1234 879.7 23.98 1287.73 -2340.8
输出
-2340.80,1287.73,23.98,24.80,24.80,24.80,23.50,34.50,34.50,34.50.
出现两个24.80,而且比较也出了问题