7-1 利用指针返回多个函数值 分数 30 作者 陈晓梅 单位 广东外语外贸大学 读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。 输入格式: 输入有两行: 第一行是n值; 第二行是n个数。 输出格式: 输出最大值和最小值。 输入样例: 在这里给出一组输入。例如: 5 8 9 12 0 3
时间: 2024-03-20 08:38:54 浏览: 16
以下是实现max_min()函数的代码:
```
#include <stdio.h>
void max_min(int* arr, int n, int* max, int* min) {
*max = *min = *arr;
for (int i = 1; i < n; i++) {
if (*(arr + i) > *max) {
*max = *(arr + i);
}
if (*(arr + i) < *min) {
*min = *(arr + i);
}
}
}
int main() {
int n, max, min;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", arr + i);
}
max_min(arr, n, &max, &min);
printf("%d %d", max, min);
return 0;
}
```
该程序定义了一个max_min函数,输入参数包括一个整型数组指针arr、数组长度n,以及两个整型指针max和min,用于返回最大值和最小值。在函数中,首先将max和min的初值设为数组第一个元素,然后遍历数组,将每个元素与当前的最大值和最小值进行比较,更新max和min的值。最后,max和min的值通过指针返回到主函数中,并输出。