自定义函数 void max_min(int s[], int n, int *a, int *b); 函数的功能:在数组s的n个元素中,将最小值和最大值分别存入指针a、b指向的变量中
时间: 2024-05-04 18:21:13 浏览: 60
自定义函数
以下是自定义函数 `max_min` 的完整代码实现:
```c
void max_min(int s[], int n, int *a, int *b) {
int max = s[0], min = s[0];
for (int i = 1; i < n; i++) {
if (s[i] > max) {
max = s[i];
}
if (s[i] < min) {
min = s[i];
}
}
*a = min;
*b = max;
}
```
函数说明:
- `s[]`:待查找最大值和最小值的数组;
- `n`:数组中元素的个数;
- `a`:指向最小值的指针变量;
- `b`:指向最大值的指针变量。
函数实现思路:
1. 初始化 `max` 和 `min` 变量为数组第一个元素;
2. 遍历数组,依次比较每个元素和当前的 `max` 和 `min` 变量;
3. 如果当前元素比 `max` 大,更新 `max`;
4. 如果当前元素比 `min` 小,更新 `min`;
5. 遍历完成后,将 `min` 的值存入指针变量 `a` 中,将 `max` 的值存入指针变量 `b` 中。
使用示例:
```c
#include <stdio.h>
void max_min(int s[], int n, int *a, int *b);
int main() {
int s[] = {3, 6, 1, 8, 2};
int n = 5;
int min, max;
max_min(s, n, &min, &max);
printf("min=%d, max=%d\n", min, max);
return 0;
}
```
输出结果:
```
min=1, max=8
```
阅读全文