利用指针实现求一组整数的最大值和最小值。 参考:编写函数void Input(int a1)实现一组整数的输入,编写函数int Maxmin(int al.,int*pmax,int*pmin)实现求一组整数的最大值和最小值。
时间: 2025-01-29 14:19:23 浏览: 44
在C语言中,你可以通过利用指针来实现这个功能。首先,我们需要定义两个指针`pmax`和`pmin`,它们分别指向整数数组中的最大值和最小值的位置。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
void input(int arr[], int n);
void maxmin(int arr[], int n, int* pmax, int* pmin);
// 主函数
int main() {
int a[100], pmax, pmin;
int n;
// 输入整数
printf("Enter the number of elements: ");
scanf("%d", &n);
input(a, n);
// 初始化最大值和最小值指针
*pmax = a[0];
*pmin = a[0];
// 调用函数计算并更新最大值和最小值
maxmin(a, n, &pmax, &pmin);
printf("The maximum value is: %d\n", *pmax);
printf("The minimum value is: %d\n", *pmin);
return 0;
}
// 输入函数
void input(int arr[], int n) {
for (int i = 0; i < n; i++) {
printf("Enter element %d: ", i+1);
scanf("%d", &arr[i]);
}
}
// 求最大值和最小值的函数
void maxmin(int arr[], int n, int* pmax, int* pmin) {
for (int i = 1; i < n; i++) {
if (arr[i] > *pmax) {
*pmax = arr[i]; // 如果当前元素大于已知最大值,则更新最大值指针
}
if (arr[i] < *pmin) {
*pmin = arr[i]; // 同理,如果当前元素小于已知最小值,则更新最小值指针
}
}
}
```
在这个例子中,`input`函数用于获取用户输入的整数,而`maxmin`函数则遍历数组,通过比较找到最大值和最小值,并通过指针存储结果。
阅读全文