交换最大、最小值。输入一个正整数n(1<n≤10),再输入n个整数(<=999),先将最小值与第一个数交换,再将最大值与最后一个数交换,然后输出交换后的n个数。
时间: 2025-01-25 09:13:45 浏览: 36
好的,我来为您解答这个问题。以下是解决这个问题的思路和Python代码实现:
1. 首先,我们需要接收用户输入的n和n个整数。
2. 然后,我们找到最小值和最大值的索引。
3. 接着,我们进行两次交换:
- 将最小值与第一个数交换
- 将最大值与最后一个数交换
4. 最后,我们输出交换后的结果。
以下是Python代码实现:
```python
def swap_max_min(arr):
n = len(arr)
# 找到最小值和最大值的索引
min_idx = arr.index(min(arr))
max_idx = arr.index(max(arr))
# 先将最小值与第一个数交换
if min_idx != 0:
arr[0], arr[min_idx] = arr[min_idx], arr[0]
# 再将最大值与最后一个数交换
if max_idx != n-1:
arr[n-1], arr[max_idx] = arr[max_idx], arr[n-1]
return arr
# 主程序
n = int(input("请输入一个正整数n(1<n≤10): "))
if n <= 1 or n > 10:
print("输入的n不符合要求")
else:
print(f"请输入{n}个整数:")
input_nums = list(map(int, input().split()))
if len(input_nums) != n:
print("输入的整数个数不正确")
else:
result = swap_max_min(input_nums)
print("交换后的结果:", ' '.join(map(str, result)))
```
这个程序会先检查输入的n是否在正确范围内,然后接收n个整数输入。接着调用swap_max_min函数进行交换操作,最后输出结果。
阅读全文
相关推荐
















