6.3 交换最小值和最大值输入一个正整数 n (1<n<=10),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。C语言
时间: 2024-05-02 16:19:51 浏览: 141
好的,听懂了。以下是代码实现:
```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;
}
```
希望能够帮到您!
相关问题
6.3 交换最小值和最大值 输入一个正整数 n (1<n<=10),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。代码形式
n = int(input())
lst = list(map(int, input().split()))
min_index = lst.index(min(lst))
max_index = lst.index(max(lst))
lst[0], lst[min_index] = lst[min_index], lst[0]
lst[-1], lst[max_index] = lst[max_index], lst[-1]
for num in lst:
print(num, end=' ')
阅读全文