有一个数组,内放10个整数,要求找出最大的数和它的下标,然后把它和数组中最前面的元素对换。c++
时间: 2024-10-24 09:10:04 浏览: 33
cpp代码-(一维数组)声明10个数组元素并输入元素,找出最大值及其下标
在 C++ 中,你可以使用一个简单的遍历过程来找到最大值及其下标,然后将它与数组的第一个元素交换。以下是一个示例程序:
```cpp
#include <iostream>
using namespace std;
void swapMaxAndFirst(int arr[], int n) {
// 初始化最大值和其下标
int max_val = arr[0], max_index = 0;
// 遍历数组,查找最大值
for (int i = 1; i < n; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
max_index = i;
}
}
// 如果找到了更大的数,将其与第一个元素交换
if (max_val != arr[0]) {
int temp = arr[0]; // 临时存储第一个元素
arr[0] = max_val; // 将最大值放到第一位
arr[max_index] = temp; // 将原第一个元素放回原来的下标位置
}
}
int main() {
int arr[] = {5, 3, 8, 2, 9, 1, 7, 6, 4, 10}; // 示例数组
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Original array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
swapMaxAndFirst(arr, n);
cout << "\nArray after swapping: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
运行这个程序,你会看到数组的第一个元素被替换成了最大的那个。
阅读全文