void find_min_max(int *arr, int n, int *min, int *max) { *min = *max = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] < *min) { *min = arr[i]; } else if (arr[i] > *max) { *max = arr[i]; } } } int main() { int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5}; int n = sizeof(arr) / sizeof(int); int min, max; find_min_max(arr, n, &min, &max); printf("最小值:%d,最大值:%d\n", min, max); return 0;
时间: 2023-06-03 07:04:04 浏览: 78
min, &max);
printf("min: %d, max: %d", min, max);
return 0;
}
你可以通过使用这个函数来找到一个数组中的最小值和最大值。
相关问题
find_max_min(arr, size, &max, &min);
`find_max_min(arr, size, &max, &min)` 函数可以用来寻找数组 `arr` 中的最大值(`max`)和最小值(`min`)。这是基于您给出的第一个引用[^1]中的`Findmax()` 和 `Findmin()` 函数思路,但这里使用了指针来传递最大值和最小值变量,而不是直接修改数组元素。
以下是该函数的实现:
```c++
void find_max_min(int arr[], int size, int* max, int* min) {
*max = arr[0];
*min = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
调用这个函数时,需要传入数组、数组大小以及指向最大值和最小值的指针,如下面这样:
```c++
int arr[] = {1, 2, 3, 4, 5};
int max_val, min_val;
int size = sizeof(arr) / sizeof(arr[0]);
find_max_min(arr, size, &max_val, &min_val);
cout << "最大值为: " << max_val << endl;
cout << "最小值为: " << min_val << endl;
```
c语言find_max_min(arr, size, &max, &min);
在C语言中,你可以定义`find_max_min`函数来找到数组`arr`中的最大值(max)和最小值(min)。这里是一个简单的实现示例:
```c
#include "algorithm" // 引入自定义的基本算法库
void find_max_min(int arr[], int size, int *max, int *min) {
// 初始化max和min为数组的第一个元素
*max = arr[0];
*min = arr[0];
// 使用for循环遍历数组
for (int i = 1; i < size; i++) {
// 如果当前元素大于max,更新max
if (arr[i] > *max) {
*max = arr[i];
}
// 如果当前元素小于min,更新min
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
调用这个函数时,传入数组、数组大小以及指向最大值和最小值的指针:
```c
int main() {
int arr[] = {5, 10, 1, 8, 3};
int size = sizeof(arr) / sizeof(arr[0]);
int max_val, min_val;
find_max_min(arr, size, &max_val, &min_val);
printf("最大值: %d\n", max_val);
printf("最小值: %d\n", min_val);
return 0;
}
```
阅读全文