0

我是编程新手,我正在尝试创建一个程序,该程序将采用 3 个随机数 XY 和 Z,并将使用 Min、Max 函数和变量(tmp)将它们按升序排序 X 是最低的,Z 是最高的

我知道我需要使用一种特殊的策略来首先影响(X,Y)对,然后是(Y,Z)然后是(X,Y),但我无法掌握逻辑。

到目前为止,我得到的最接近的是......

y=min(y,z)
x=min(x,y) 
tmp=max(y,z) 
z=tmp 
tmp=max(x,y) 
y=tmp 
x=min(x,y) 
tmp=max(x,y) 
y=tmp 

我尝试了很多不同的组合,但似乎问题是无法解决的,其他人可以帮忙吗?

4

2 回答 2

1

您需要先对 X,Y 对进行排序

tmp=min(x,y)
y=max(x,y)
x=tmp

然后对 Y,Z 对进行排序

tmp = min(y,z)
z=max(y,z)
y=tmp

然后,使用 X,Y 对(如果原始 Z 是最低值...

tmp=min(x,y)
y=max(x,y)
x=tmp

如果您提到的命令是网站上唯一可用的命令,并且您只能使用每个命令一次尝试:

# Sort X,Y pair
tmp=max(x,y) 
x=min(x,y) 
y=tmp 

# Sort Y,Z pair
tmp=max(y,z) 
y=min(y,z)
z=tmp 

# Sort X,Y pair again.
tmp=max(x,y) 
x=min(x,y) 
y=tmp 

希望有帮助。

于 2013-08-08T09:40:16.940 回答
0

我不确定我是否正确理解了你的问题,但你过度纠正了你的变量。或者你是否试图解决一些仅限于使用 min() 和 max() 函数的家庭作业?

使用列表怎么样?

tmp = [x, y, z]
tmp.sort()
x, y, z = tmp
于 2013-08-08T08:57:25.827 回答