#include <iostream>
#include "math.h"
using namespace std;//由于
浮点数存在精度问题,不能直接比较
int FloatCompare( double fA, double fB )
{
const double fEpsilon = 0.000001;
double fDelta = fabs( fA - fB );
if( fDelta > fEpsilon ) return 1; //大于,返回1
else if( fDelta < fEpsilon ) return -1; //小于,返回-1
return 0; //等于,返回0
} void main(void)
{
int i,j;
double f[3]; //待比较浮点数
double temp;//由大到小进行排序
for ((i = 0; i < 3; i++)
for ((j = 0; j < 3; j++)
if(-1 == FloatCompare(f[i], f[j])) //小于,则互换
{
temp = f[i];
f[i] = f[j];
f[j] = temp
}//输出
for (i = 0; i < 5; i++) printf("%f ", f[i]);
}