编写函数得到一个int型数组中的最大元素及其下标值和对应的地址值,函数形式为:int *findMax(int *arr,int n,int *index),其中n为数组的大小,index为下标值,返回一个指针值,即对应的最大元素的地址。用C语言写代码
时间: 2024-03-21 21:43:39 浏览: 50
找出数组中的最大元素-java语言程序设计课件
以下是用C语言编写的函数代码:
```c
#include <stdio.h>
int *findMax(int *arr, int n, int *index) {
int max = arr[0];
*index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
*index = i;
}
}
return &arr[*index];
}
int main() {
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr) / sizeof(arr[0]);
int index;
int *max = findMax(arr, n, &index);
printf("Max element: %d\n", *max);
printf("Index: %d\n", index);
printf("Address: %p\n", max);
return 0;
}
```
在这个程序中,`findMax`函数接收一个整数类型的数组、数组的大小和一个指向索引变量的指针作为参数。它遍历整个数组,查找最大的元素,并记录其索引。然后,它返回最大元素的地址,同时修改传递给它的索引变量的值。
在`main`函数中,我们定义了一个整数类型的数组,并通过`sizeof`运算符计算出其大小。然后,我们调用`findMax`函数来查找最大元素,并输出最大元素的值、索引和地址。
阅读全文