从键盘输入10个整数,用函数编程实现将其中最大数与最小数位置对换后,再输出调整后的数组
时间: 2023-07-15 18:13:16 浏览: 63
以下是Python的实现代码:
```python
def swap_max_min(arr):
# 找到最大值和最小值在数组中的位置
max_index = arr.index(max(arr))
min_index = arr.index(min(arr))
# 交换最大值和最小值在数组中的位置
arr[max_index], arr[min_index] = arr[min_index], arr[max_index]
return arr
# 从键盘输入10个整数
arr = []
for i in range(10):
arr.append(int(input("请输入第{}个整数:".format(i+1))))
# 调用函数进行交换
new_arr = swap_max_min(arr)
# 输出调整后的数组
print("调整后的数组为:", new_arr)
```
运行结果示例:
```
请输入第1个整数:3
请输入第2个整数:9
请输入第3个整数:5
请输入第4个整数:1
请输入第5个整数:7
请输入第6个整数:2
请输入第7个整数:8
请输入第8个整数:4
请输入第9个整数:6
请输入第10个整数:0
调整后的数组为: [3, 0, 5, 1, 7, 2, 8, 4, 6, 9]
```
相关问题
用c语言实现从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。
以下是用C语言实现从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组的代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void adjust(int arr[], int len) {
int max_index = 0, min_index = 0;
for (int i = 1; i < len; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
swap(&arr[max_index], &arr[min_index]);
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
adjust(arr, 10);
printf("调整后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
希望能够帮到你!
c语言从键盘输入10个数,用函数编程实现将其中 最大数与最小数的位置对换后,再输出调整后的数组。
好的,这个问题可以通过以下方式解决:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void adjust(int arr[], int len) {
int max_index = 0;
int min_index = 0;
int i;
for (i = 1; i < len; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
} else if (arr[i] < arr[min_index]) {
min_index = i;
}
}
swap(&arr[max_index], &arr[min_index]);
}
int main() {
int arr[10];
int i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
adjust(arr, 10);
printf("调整后的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先定义了一个 `swap` 函数,用于交换两个数的值。然后定义了一个 `adjust` 函数,用于将最大数与最小数的位置对换。在 `main` 函数中,我们首先从键盘输入10个整数,然后调用 `adjust` 函数对数组进行调整,最后输出调整后的数组。
需要注意的是,这个程序假设输入的10个数中没有重复的数。如果有重复的数,那么可能会出现交换后数组不符合预期的情况。为了处理这种情况,需要稍微修改一下 `adjust` 函数,让它在找到最大数或最小数相等的情况下,继续遍历数组,直到找到一个不相等的数为止。