python经典百题之从小到大输出

题目:输入三个整数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)$,不过对于输入规模较小的情况,效率已经足够。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年11月13日
下一篇 2023年11月13日

相关推荐