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