编写一个函数int max(int *a,int n)返回值为n个数的最大值
时间: 2024-03-10 17:43:20 浏览: 11
好的,以下是实现这个函数的代码:
```c
int max(int *a, int n) {
int max_val = a[0];
for (int i = 1; i < n; i++) {
if (a[i] > max_val) {
max_val = a[i];
}
}
return max_val;
}
```
这个函数接收一个 `int` 类型的数组 `a` 和一个整数 `n`,返回这个数组中的最大值。它通过遍历数组,依次比较每个元素和当前最大值,如果该元素更大,则更新最大值,最后返回最大值即可。
如果还有其他问题,请继续提问。
相关问题
编写函数int max(int *a,int n),返回值为n个数的最大值。
好的,下面是一个求解n个数最大值的函数示例代码:
```c
#include <stdio.h>
int max(int *a, int n) {
int max_val = a[0];
for (int i = 1; i < n; i++) {
if (a[i] > max_val) {
max_val = a[i];
}
}
return max_val;
}
int main() {
int arr[] = {10, 20, 30, 50, 80, 70, 90, 60, 40, 100};
int n = sizeof(arr) / sizeof(arr[0]);
int max_val = max(arr, n);
printf("最大值为:%d\n", max_val);
return 0;
}
```
在上述代码中,我们定义了一个max函数,通过遍历数组来找到最大值,最后将其返回。主函数中我们定义了一个大小为10的整型数组,通过调用max函数计算出数组中最大值,并输出结果。
编写函数int max(int *a,int n),返回值为n个数的最大值用指针
好的,以下是函数的代码:
```c
int max(int *a, int n) {
int maxval = *a; // 初始化最大值为数组第一个元素
for (int i = 1; i < n; i++) {
if (*(a + i) > maxval) { // 如果当前元素比最大值还大
maxval = *(a + i); // 更新最大值
}
}
return maxval; // 返回最大值
}
```
这个函数接受一个整数指针 `a` 和一个整数 `n`,表示有 `n` 个整数存储在数组 `a` 中。它使用指针算术运算来遍历整个数组,并在遍历过程中查找最大值。最后,它返回最大值。
你可以使用类似以下的代码来调用这个函数:
```c
int arr[] = {1, 2, 3, 4, 5};
int maxval = max(arr, 5);
printf("The max value is: %d\n", maxval);
```
输出将会是 `The max value is: 5`。