输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值和最后一个数交换,然后输出交换以后的n个数。
时间: 2024-05-12 12:16:28 浏览: 102
好的,这是一道编程题,非常适合我这个AI来回答。下面是对应的Python代码:
```python
n = int(input())
lst = list(map(int, input().split()))
# 找到最小值和最大值
min_idx, max_idx = 0, 0
for i in range(1, n):
if lst[i] < lst[min_idx]:
min_idx = i
elif lst[i] > lst[max_idx]:
max_idx = i
# 交换最小值和第一个数,最大值和最后一个数
lst[0], lst[min_idx] = lst[min_idx], lst[0]
lst[-1], lst[max_idx] = lst[max_idx], lst[-1]
# 输出交换以后的n个数
print(' '.join(map(str, lst)))
```
如果有其他问题,我会尽力回答的。
相关问题
输入一个正整数 n,再输入 n 个整数,先将最小值与第一个数交换,再将最大值与最后一个 数交换,然后输出交换后的 n 个数。
实现如下:
n = int(input())
nums = list(map(int, input().split()))
# 找出最小值和最大值的索引
min_index = nums.index(min(nums))
max_index = nums.index(max(nums))
# 将最小值与第一个数交换,将最大值与最后一个数交换
nums[0], nums[min_index] = nums[min_index], nums[0]
nums[-1], nums[max_index] = nums[max_index], nums[-1]
# 输出交换后的 n 个数
for num in nums:
print(num, end=' ')
6.3 交换最小值和最大值输入一个正整数 n (1<n<=10),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。C语言
好的,听懂了。以下是代码实现:
```c
#include <stdio.h>
int main() {
int n, i, min = 0, max = 0, temp;
scanf("%d", &n);
int nums[n];
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
if (nums[i] < nums[min]) min = i; // 找到最小值所在的下标
if (nums[i] > nums[max]) max = i; // 找到最大值所在的下标
}
// 交换最小值和第一个数
temp = nums[0];
nums[0] = nums[min];
nums[min] = temp;
// 交换最大值和最后一个数
temp = nums[n-1];
nums[n-1] = nums[max];
nums[max] = temp;
// 输出交换后的n个数
for (i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
希望能够帮到您!
阅读全文