c语言最大值和最小值
时间: 2024-11-09 20:10:57 浏览: 24
在C语言中,寻找数组的最大值和最小值通常有两种常见的方法:
1. **遍历法**:通过循环结构,比如for或while,依次比较数组中的每个元素,记录当前遇到的最小值和最大值。这种方法适用于已知数组长度的情况。
```c
#include <stdio.h>
int findMinMax(int arr[], int n, int *min, int *max) {
if (n == 0) return -1; // 初始化判断空数组
*min = arr[0]; // 假设第一个元素是最小值
*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];
}
return 0;
}
// 测试示例
int main() {
int arr[] = {5, 3, 9, 1, 7};
int min, max;
findMinMax(arr, sizeof(arr)/sizeof(arr[0]), &min, &max);
printf("Minimum value is %d and Maximum value is %d\n", min, max);
return 0;
}
```
2. **递归法**:可以设计一个递归函数,对数组的第一个元素和剩余部分分别查找最小值和最大值,然后返回结果。这种方法稍微复杂一些,但也能达到目的。
无论哪种方法,记得处理数组为空的情况,并确保在实际应用中处理边界条件。
阅读全文