编写函数int Max(int *p,int n),求p所指向的int型数据开始的n个数据中的最大值,并在main函数中调用此函数求数组DATA1[100]中的最大值存入变量datamax中
时间: 2024-05-15 12:15:17 浏览: 12
```
#include <stdio.h>
int Max(int *p, int n) {
int max = *p; // 初始值为第一个数
for (int i = 1; i < n; i++) {
if (*(p+i) > max) { // 比较大小
max = *(p+i);
}
}
return max;
}
int main() {
int DATA1[100] = {2, 6, 3, 8, 5, 1, 9};
int datamax = Max(DATA1, 7);
printf("数组DATA1中的最大值为:%d\n", datamax);
return 0;
}
```
相关问题
编写函数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`。