由键盘上输入n个不重复的整数请将这些数中的最小值与第一个数交换将最大值与最后一个数交换然后输出交换后的数列
时间: 2023-10-12 22:21:11 浏览: 79
以下是Python代码实现:
```
n = int(input())
nums = list(map(int, input().split()))
min_index = nums.index(min(nums))
nums[0], nums[min_index] = nums[min_index], nums[0]
max_index = nums.index(max(nums))
nums[-1], nums[max_index] = nums[max_index], nums[-1]
print(' '.join(map(str, nums)))
```
以下是解释:
1. 首先输入n表示有n个数;
2. 接着输入n个数,使用split()函数将输入的字符串转化为一个列表,再使用map()函数将列表中的字符串转化为整数,最后使用list()函数将map()函数返回的可迭代对象转化为列表;
3. 使用index()函数找到最小值的下标,将第一个数与最小值对应的数交换;
4. 使用index()函数找到最大值的下标,将最后一个数与最大值对应的数交换;
5. 使用join()函数将列表中的数字转化为字符串,再使用空格连接起来,最后输出结果。
相关问题
用c语言由键盘上输入n个不重复的整数请将这些数中的最小值与第一个数交换将最大值与最后一个数交换然后输出交换后的数列
```
#include <stdio.h>
int main() {
int n, min_index = 0, max_index = 0;
printf("请输入整数个数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个不重复的整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
if (arr[i] < arr[min_index]) { // 找最小值
min_index = i;
}
if (arr[i] > arr[max_index]) { // 找最大值
max_index = i;
}
}
int tmp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = tmp; // 最小值与第一个数交换
tmp = arr[n-1];
arr[n-1] = arr[max_index];
arr[max_index] = tmp; // 最大值与最后一个数交换
printf("交换后的数列为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
用C语言由键盘上输入n个不重复的整数,请将这些数中的最小值与第一个数交换,将最大值与最后一个数交换,然后输出交换后的数列。
```c
#include <stdio.h>
int main()
{
int n, i, min, max, temp;
printf("请输入n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个不重复的整数:", n);
for(i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
min = arr[0];
max = arr[0];
for(i = 1; i < n; i++)
{
if(arr[i] < min)
{
min = arr[i];
}
if(arr[i] > max)
{
max = arr[i];
}
}
// 将最小值与第一个数交换
temp = arr[0];
arr[0] = min;
for(i = 1; i < n; i++)
{
if(arr[i] == min)
{
arr[i] = temp;
break;
}
}
// 将最大值与最后一个数交换
temp = arr[n-1];
arr[n-1] = max;
for(i = 0; i < n-1; i++)
{
if(arr[i] == max)
{
arr[i] = temp;
break;
}
}
// 输出交换后的数列
printf("交换后的数列为:");
for(i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文