写一个c语言程序 要求读入n个整数,调用max_ min()函数求这n个数中的最大值和最小值。
时间: 2023-12-04 09:21:52 浏览: 140
c语言程序找出其中的最大值和最小值问题
以下是一个读入n个整数并调用max_min()函数求最大值和最小值的C语言程序:
c
#include <stdio.h>
void max_min(int arr[], int n, int *max, int *min);
int main() {
int n, i, max, min;
printf("请输入整数个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
max_min(arr, n, &max, &min);
printf("最大值为:%d,最小值为:%d\n", max, min);
return 0;
}
void max_min(int arr[], int n, int *max, int *min) {
int i;
*max = *min = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
首先,在 `main()` 函数中,我们要求用户输入整数个数 `n`,然后使用变长数组 `arr` 读入 `n` 个整数。然后,我们调用 `max_min()` 函数来计算最大值和最小值,将结果存储在 `max` 和 `min` 变量中,并在最后打印出这两个变量的值。
`max_min()` 函数的参数包括整数数组 `arr`,数组长度 `n`,以及两个指向 `max` 和 `min` 变量的指针。在函数内部,我们使用一个循环来遍历整个数组,比较每个元素与当前最大值和最小值,更新这两个变量的值。最后,我们将最大值和最小值分别存储到 `max` 和 `min` 指向的内存地址中。
阅读全文