C语言编写带有函数的程序(函数名为:int fun(int *s,int *n,int len)),功能是求出数组的最大元素在数组中的下标并存放在n所指的存储单元中。
时间: 2024-05-13 15:19:45 浏览: 120
C语言—入门的小程序
5星 · 资源好评率100%
下面是一个简单的示例程序,实现了你所描述的功能:
```c
#include <stdio.h>
int fun(int *s, int *n, int len) {
int max = s[0];
int index = 0;
for (int i = 1; i < len; i++) {
if (s[i] > max) {
max = s[i];
index = i;
}
}
*n = index;
return max;
}
int main() {
int arr[] = {3, 6, 2, 8, 1};
int len = sizeof(arr) / sizeof(int);
int index, max;
max = fun(arr, &index, len);
printf("The maximum element in the array is %d, and its index is %d.\n", max, index);
return 0;
}
```
函数 `fun` 的参数分别为数组首地址 `s`、存放最大元素下标的指针 `n` 和数组长度 `len`。在函数中,我们首先将数组的第一个元素设为最大值,然后遍历数组,如果发现比当前最大值更大的元素,就将其作为新的最大值,并更新最大值下标。最后,我们将最大值下标存储到 `n` 所指的存储单元中,并返回最大值。
在 `main` 函数中,我们定义了一个数组 `arr`,并将其长度存储在变量 `len` 中。然后,我们定义了两个变量 `index` 和 `max`,分别用来存放最大元素的下标和值。我们将数组的首地址和长度作为参数调用 `fun` 函数,得到最大元素的值和下标,并输出结果。
注意,在 `main` 函数中,我们调用 `fun` 函数时,需要将存放最大元素下标的指针 `&index` 作为参数传递给函数。这样,在函数内部修改 `n` 所指的存储单元时,就能够将最大元素下标的值传递回 `main` 函数中。
阅读全文