编写一个函数,用值传递的方式,返回存储在int类 型数组中最大值的下标(对数组元素的操作使用指针的形式来实现)。在main 中调用该函数进行测试;
时间: 2024-11-06 16:25:12 浏览: 107
在C++中,你可以编写一个函数`findMaxIndex`,它接受一个整数数组的指针以及数组的长度作为参数。通过遍历数组并比较当前元素与已找到的最大值,我们可以找到最大值的索引。以下是代码示例:
```cpp
#include <iostream>
// 函数声明,使用指针接收数组和其长度
int findMaxIndex(int* arr, int size);
// 函数实现 - 找到最大值的下标
int findMaxIndex(int* arr, int size) {
if (size <= 0) return -1; // 如果数组为空或长度为0,返回-1
int maxIndex = 0;
for (int i = 1; i < size; i++) { // 使用指针从第二个元素开始比较
if (arr[i] > arr[maxIndex]) {
maxIndex = i; // 更新最大值的索引
}
}
return maxIndex;
}
int main() {
int numbers[] = {5, 3, 9, 1, 7};
int arraySize = sizeof(numbers) / sizeof(numbers[0]);
int maxIndex = findMaxIndex(&numbers, arraySize);
if (maxIndex != -1) {
std::cout << "The maximum value's index is: " << maxIndex << std::endl;
} else {
std::cout << "Array is empty or all elements are the same." << std::endl;
}
return 0;
}
```
在这个例子中,我们首先定义了一个`findMaxIndex`函数,然后在`main`函数中创建了一个整数数组,并调用了这个函数。如果找到了最大值的下标,就打印出来;否则,说明可能是空数组或所有元素相等。
阅读全文