题目:输入三个整数x,y,z,请把这三个数由小到大输出。
可以使用条件判断语句来实现,比较大小后交换位置输出。具体代码如下:
x = int(input("请输入第一个整数:"))
y = int(input("请输入第二个整数:"))
z = int(input("请输入第三个整数:"))
if x > y:
x, y = y, x
if x > z:
x, z = z, x
if y > z:
y, z = z, y
print("从小到大输出为:", x, y, z)
示例输出:
请输入第一个整数:5
请输入第二个整数:2
请输入第三个整数:7
从小到大输出为: 2 5 7
可以使用冒泡排序来实现:
x, y, z = map(int, input().split())
# 冒泡排序
arr = [x, y, z]
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if arr[i] > arr[j]:
arr[i], arr[j] = arr[j], arr[i]
# 输出结果
for num in arr:
print(num, end=' ')
也可以使用选择排序来实现:
x, y, z = map(int, input().split())
# 选择排序
arr = [x, y, z]
for i in range(len(arr)):
min_index = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
# 输出结果
for num in arr:
print(num, end=' ')
以上两种算法的时间复杂度均为 $O(n^2)$,不过对于输入规模较小的情况,效率已经足够。
文章出处登录后可见!
已经登录?立即刷新