C语言编程【问题描述】编写一个函数,使用指针的方式返回一个数组中存储的最大值元素。测试程序中的函数。方法较多,请使用指针方式。【样例输入】 3 12 124 16 【样例输出】 The largest value is 124
时间: 2024-01-22 09:20:50 浏览: 59
C语言程序设计-编写自定义函数max,用来求三个数的最大值(要求:数据的输入、输出在主函数中实现)。
5星 · 资源好评率100%
以下是一个可能的解法:
```c
#include <stdio.h>
int *find_max(int arr[], int len) {
if (len <= 0) { // 数组为空的情况
return NULL;
}
int *max_ptr = &arr[0]; // 初始最大值指针指向第一个元素
for (int i = 1; i < len; i++) {
if (arr[i] > *max_ptr) { // 如果找到更大的元素,更新最大值指针
max_ptr = &arr[i];
}
}
return max_ptr;
}
int main() {
int arr[100], len;
scanf("%d", &len);
for (int i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
int *max_ptr = find_max(arr, len);
if (max_ptr != NULL) {
printf("The largest value is %d\n", *max_ptr);
} else {
printf("The array is empty.\n");
}
return 0;
}
```
这个程序中,`find_max` 函数接受一个数组和该数组的长度作为参数,返回一个指向数组中最大值元素的指针。具体实现方法是,初始时将指针指向第一个元素,然后遍历数组,如果找到了比当前最大值更大的元素,就更新指针。遍历完后,指针即指向最大值元素。需要注意的是,如果数组为空,应该返回空指针。
在 `main` 函数中,先读入数组,然后调用 `find_max` 函数,得到最大值指针。如果指针不为空,就输出最大值。否则,说明数组为空,输出相应的提示信息。
以上代码可以实现题目要求的功能。
阅读全文