Number sort using Min, Max and Variables

我与影子孤独终老i 提交于 2019-12-11 23:00:02

问题


I am new to programming and I am trying to create a program that will take 3 random numbers X Y and Z and will sort them into ascending order X being the lowest and Z the highest using Min, Max functions and a Variable (tmp)

I know that there is a particular strategy that I need to use that effects the (X,Y) pair first then (Y,Z) then (X,Y) again but I can't grasp the logic.

The closest I have got so far is...

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 

I've tried so many different combinations but it seems that the problem is UNSOLVABLE can anybody else help?


回答1:


You need to get sort the X,Y Pair first

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

Then sort the Y,Z pair

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

Then, resort the X,Y pair (in case the original Z was the lowest value...

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

If the commands you have mentioned are the only ones available on the website, and you can only use each one once try:

# 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 

Hope that helps.




回答2:


I'm not sure if I understood your question correctly, but you are over righting your variables. Or are you trying to solve some homework with the restriction to only use min() and max() functions?

What about using a list?

tmp = [x, y, z]
tmp.sort()
x, y, z = tmp


来源:https://stackoverflow.com/questions/18115046/number-sort-using-min-max-and-variables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!