这条题编错在哪(C++)

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:50:41
#include<iostream.h>
void main(){
int x,y,z,t;
cin>>x>>y>>z;
if(x>y)
{t=y;x=t;y=x;}
if(x>z)
{t=x;x=z;z=t;}
if(y>z)
{t=y;y=z;z=t;}
cout<<x<<","<<y<<","<<z<<endl;
}

我想对 x, y, z按从小到大的顺序排,错在哪呀

{t=y;x=t;y=x;}
这个就有问题
t=y;
x=t;//相当于 x=y;
y=x;//相当于 y=y;
你这样做之后,y 不变, x 变成了 y

后面的交换是对的

首先,写法不对
#include<iostream>
using namespace std;
其次,算法不对:
你带入3 2 1就知道了。