用c++完成函数int findmax(int a[],int n,int *index),函数返回存储于数组a中n个元素的最大值,参数index用以保存最大值元素的下标
时间: 2024-12-19 15:13:53 浏览: 22
在 C++ 中,你可以创建一个名为 `findMax` 的函数,它接受一个整数数组 `a`、数组长度 `n` 及一个指向整数的指针 `index`。这个函数会找到数组中的最大值,并通过 `index` 参数返回其索引。以下是具体的函数实现:
```cpp
#include <climits> // 引入 INT_MAX 用于初始比较
int findMax(int a[], int n, int* index) {
if (n == 0) { // 如果数组为空,返回 INT_MIN 并设置 index 为 -1
*index = -1;
return INT_MIN;
}
int max_value = a[0]; // 假设第一个元素是最大值
*index = 0;
for (int i = 1; i < n; ++i) {
if (a[i] > max_value) { // 如果当前元素大于最大值
max_value = a[i]; // 更新最大值
*index = i; // 更新最大值的位置
}
}
return max_value;
}
int main() {
int arr[] = {5, 9, 2, 10, 7};
int n = sizeof(arr) / sizeof(arr[0]);
int max_index;
int maxValue = findMax(arr, n, &max_index);
std::cout << "最大值是: " << maxValue << ", 下标是: " << max_index << std::endl;
return 0;
}
```
在这个例子中,函数 `findMax` 首先检查数组是否为空,然后遍历数组,如果发现更大的元素就更新最大值和对应的位置。最后返回最大值和将其存储到 `index` 指向的地方。
阅读全文