用C++ 键盘任意输入8 个整数,编程实现将其中最大数与最小数的位置对换后,调整后的数组。
时间: 2023-06-12 15:06:59 浏览: 85
以下是用 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个整数,程序会找出其中最大数和最小数的位置,然后将它们对换,最后输出调整后的数组。
相关问题
编写一个C++程序,要求有一数组内存放10个整数,要求找出最大数和它的下标, 然后把它和数组中第0个元素对换位置。 输入格式: 在一行中输入10个整数,数据之间只能用1个空格间隔。 输出格式: 在一行中直接输出变化后的数组,每个数输出占4列列宽。在下一行中按照“max=最大值,位置=最大值下标”的顺序输出最大数和它的下标。
好的,下面是一个示例程序,可以实现你的需求:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10]; // 定义一个长度为10的整型数组a
int max = 0; // 最大值
int pos = 0; // 最大值的下标
int i; // 循环计数器
int temp; // 临时变量,用于交换数组元素
// 从键盘上读入10个整数,存放在数组a中
for (i = 0; i < 10; i++) {
cin >> a[i];
if (a[i] > a[max]) {
max = i;
}
}
// 找出最大值及其下标
pos = max;
// 将最大值和数组中第0个元素对换位置
temp = a[0];
a[0] = a[max];
a[max] = temp;
// 输出变化后的数组
for (i = 0; i < 10; i++) {
cout << setw(4) << a[i];
}
cout << endl;
// 输出最大值及其下标
cout << "max=" << a[0] << ",位置=" << pos << endl;
return 0;
}
```
这个程序中,我们使用了`iostream`库中的`cin`和`cout`对象,分别用于从键盘上读入数据和输出数据。我们首先定义了一个长度为10的整型数组`a`,用于存放输入的10个整数。然后,我们使用一个循环从键盘上读入10个整数,并存放在数组`a`中。在这个循环中,我们同时找出最大值及其下标。接下来,我们将最大值和数组中第0个元素对换位置。最后,我们使用`setw()`函数设置输出宽度,并分别使用`cout`输出变化后的数组和最大值及其下标。
阅读全文