编写一个函数,返回存储在double类型数组中最大值的下标(C语言)
时间: 2024-12-13 15:21:57 浏览: 2
在C语言中,你可以编写一个函数`findMaxIndex(double arr[], int size)`来找到给定double类型数组中最大值的下标。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
int findMaxIndex(double arr[], int size);
int main() {
double array[] = {1.5, 3.7, 0.9, 4.2, 2.8};
int array_size = sizeof(array) / sizeof(array[0]);
int max_index = findMaxIndex(array, array_size);
if (max_index != -1) {
printf("The index of the maximum value is: %d\n", max_index);
} else {
printf("Array is empty or all elements are equal.\n");
}
return 0;
}
// 实现函数
int findMaxIndex(double arr[], int size) {
int max_index = 0; // 初始化最大值下标为0
// 遍历数组
for (int i = 1; i < size; i++) {
if (arr[i] > arr[max_index]) {
max_index = i; // 如果当前元素大于最大值,更新最大值下标
}
}
// 返回最大值的下标,如果没有找到元素,则返回-1(表示数组为空)
return max_index == size ? -1 : max_index;
}
```
在这个例子中,`findMaxIndex`函数通过遍历数组并比较每个元素与已知的最大值,找到最大值的下标。如果数组为空或者所有元素相等,函数会返回-1。
阅读全文