用C++ 键盘任意输入8 个整数,编程实现将其中最大数与最小数的位置对换后,调整后的数组。
时间: 2023-06-12 19:06:59 浏览: 52
以下是用 C 语言实现的代码,希望能帮助您:
```c
#include <stdio.h>
int main() {
int arr[8], max, min, temp, i;
printf("请输入8个整数:\n");
for (i = 0; i < 8; i++) {
scanf("%d", &arr[i]);
}
max = min = 0;
for (i = 1; i < 8; i++) {
if (arr[i] > arr[max]) {
max = i;
}
if (arr[i] < arr[min]) {
min = i;
}
}
temp = arr[max];
arr[max] = arr[min];
arr[min] = temp;
printf("调整后的数组为:\n");
for (i = 0; i < 8; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行程序后,按照提示输入8个整数,程序会找出其中最大数和最小数的位置,然后将它们对换,最后输出调整后的数组。
相关问题
输入10个整数放入数组中,编程将其中最大数与最小数位置互换,然后输出互换后的数组
好的,这是一个编程问题,我可以帮您解答。以下是代码示例:
C++ 代码:
```c++
#include<iostream>
using namespace std;
int main(){
int arr[10];
int maxIdx = 0, minIdx = 0;
// 输入 10 个数并保存在数组中
cout<<"请输入 10 个整数:"<<endl;
for(int i = 0; i < 10; i++){
cin>>arr[i];
}
// 找到最大数和最小数的下标
for(int i = 1; i < 10; i++){
if(arr[i] > arr[maxIdx]){
maxIdx = i;
}
if(arr[i] < arr[minIdx]){
minIdx = i;
}
}
// 交换最大数和最小数的位置
int temp = arr[maxIdx];
arr[maxIdx] = arr[minIdx];
arr[minIdx] = temp;
// 输出交换后的数组
cout<<"交换后的数组:"<<endl;
for(int i = 0; i < 10; i++){
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}
```
Python 代码:
```python
arr = []
# 输入 10 个数并保存在数组中
print("请输入 10 个整数:")
for i in range(10):
num = int(input())
arr.append(num)
# 找到最大数和最小数的下标
maxIdx, minIdx = 0, 0
for i in range(1, 10):
if arr[i] > arr[maxIdx]:
maxIdx = i
if arr[i] < arr[minIdx]:
minIdx = i
# 交换最大数和最小数的位置
arr[maxIdx], arr[minIdx] = arr[minIdx], arr[maxIdx]
# 输出交换后的数组
print("交换后的数组:")
for i in arr:
print(i, end=" ")
print()
```
希望我的回答能对您有所帮助。
输入10个整数,用函数编程将其中最大数与最小数的位置互换,然后在主函数中将交换后的数组的所有元素输出。c+++
下面是一个实现此功能的C代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void swapMinMax(int arr[], int len) {
int min_idx = 0, max_idx = 0;
for (int i = 1; i < len; i++) {
if (arr[i] < arr[min_idx]) {
min_idx = i;
}
if (arr[i] > arr[max_idx]) {
max_idx = i;
}
}
swap(&arr[min_idx], &arr[max_idx]);
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
swapMinMax(arr, 10);
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
首先定义了一个 `swap` 函数,用于交换两个整数的值。然后定义了一个 `swapMinMax` 函数,用于找到数组中的最小值和最大值,并将它们的位置互换。最后在主函数中输入数组,调用 `swapMinMax` 函数交换最小值和最大值的位置,然后输出交换后的数组。