用c语言编写编写子函数,求出实型数组中的最大值及其下标,在主函数中输出结果。要求:利用指针实现。
时间: 2024-05-12 20:14:10 浏览: 93
以下是用 C 语言编写的子函数,使用指针实现求出实型数组中的最大值及其下标:
```c
#include <stdio.h>
void maxIndex(float arr[], int size, float *maxVal, int *maxIndex) {
*maxVal = arr[0];
*maxIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > *maxVal) {
*maxVal = arr[i];
*maxIndex = i;
}
}
}
int main() {
float arr[] = {1.2, 3.4, 5.6, 7.8};
int size = sizeof(arr) / sizeof(arr[0]);
float maxVal;
int maxIndex;
maxIndex(arr, size, &maxVal, &maxIndex);
printf("最大值为 %.2f,下标为 %d\n", maxVal, maxIndex);
return 0;
}
```
在主函数中,我们定义了一个实型数组 `arr`,并使用 `sizeof` 运算符计算出数组的大小。然后,我们定义了两个变量 `maxVal` 和 `maxIndex`,作为输出最大值及其下标的结果。接着,我们调用了 `maxIndex` 函数,并将数组 `arr`、数组大小 `size`、及指向 `maxVal` 和 `maxIndex` 的指针作为参数传递给该函数。
在 `maxIndex` 函数中,我们首先将最大值和最大值对应的下标初始化为数组的第一个元素和 0。然后,我们遍历数组中的每个元素,如果该元素比当前的最大值大,就更新最大值和最大值对应的下标。最后,我们将最大值和最大值对应的下标通过指针返回给调用者。
最后,在主函数中,我们输出了求得的最大值及其下标。
阅读全文