#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
double a,b,c,t;
cin>>a>>b>>c;
if(a>b)
{
t=a;
a=b;
b=t;
}
else if(a>c)
{
t=a;
a=c;
c=t;
}
else (b>c);
{
t=b;
b=c;
c=t;
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a<<" "<<b<<" "<<c<<endl;
}
加上分号就是说下面{}里的东西不是if else语句中的内容了。但是你这个排序的逻辑有问题。
参考如下:
#include <iostream>
using namespace std;
int main()
{
double a,b,c,max,min;
cin>>a>>b>>c;
max = a>(b>c?b:c)?a:(b>c?b:c);
min = a<(b<c?b:c)?a:(b<c?b:c);
b = a+b+c-max-min; //中间值
a = min; //最小值
c = max; //最大值
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a<<" "<<b<<" "<<c<<endl;
return 0;
}