用c++编写找数组中最大的元素与第一个元素交换
时间: 2024-05-01 19:23:26 浏览: 101
可以使用以下代码来实现:
```c++
#include <iostream>
using namespace std;
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int arr[] = {3, 1, 5, 2, 4};
int n = sizeof(arr) / sizeof(arr[0]);
int max_idx = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_idx]) {
max_idx = i;
}
}
swap(arr[0], arr[max_idx]);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这段代码首先定义了一个整型数组 `arr`,然后通过 `sizeof` 操作计算出数组大小 `n`。接下来使用一个循环找出数组中的最大元素所在的位置 `max_idx`,并将其与第一个元素进行交换。最后再循环输出交换后的数组。注意,这里使用了一个 `swap` 函数来实现交换操作。
相关问题
用c++数组编程写出编写程序在数组中将10个元素中值最大的一个找出并与第一个元素交换
以下是用C++数组编写的程序,可以找出给定数组中的最大值,并将其与第一个元素交换。
```c++
#include <iostream>
using namespace std;
int main() {
int arr[10]; // 声明一个长度为10的整型数组
int maxIndex = 0; // 最大值的下标初始化为0
cout << "请输入10个整数:" << endl;
for (int i = 0; i < 10; i++) {
cin >> arr[i]; // 通过循环读取用户输入的10个整数
if (arr[i] > arr[maxIndex]) {
maxIndex = i; // 更新最大值的下标
}
}
// 输出原始数组
cout << "原始数组:" << endl;
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
// 将最大值与第一个元素交换
int temp = arr[0];
arr[0] = arr[maxIndex];
arr[maxIndex] = temp;
// 输出交换后的数组
cout << "交换后的数组:" << endl;
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
例子输出:
```
请输入10个整数:
3 7 1 9 4 6 8 2 5 0
原始数组:
3 7 1 9 4 6 8 2 5 0
交换后的数组:
9 7 1 3 4 6 8 2 5 0
```
用c++写出编写程序在数组中将10个元素中值最大的一个找出并与第一个元素交换
下面是用C++实现的程序,在10个元素中找出最大值并与第一个元素交换的过程。
```c++
#include <iostream>
using namespace std;
int main() {
int arr[10] = {5, 8, 3, 9, 2, 7, 1, 6, 4, 10}; // 定义一个含有10个元素的数组,初始值已给出
int max_index = 0; // 最大值的索引,初始值设为第一个元素
int max_val = arr[0]; // 最大值,初始值设为第一个元素
// 找出最大值的索引和数值
for (int i = 1; i < 10; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
max_index = i;
}
}
// 将最大值与第一个元素交换
int temp = arr[0];
arr[0] = max_val;
arr[max_index] = temp;
// 输出交换后的数组
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
10 8 3 9 2 7 1 6 4 5
```
可以看到,程序成功地将最大值10与第一个元素5进行了交换。
阅读全文