在一个数组中同时找到最大和最小值c语言
时间: 2024-09-24 11:14:14 浏览: 40
在C语言中,为了在一个数组中同时找到最大和最小值,你可以采用线性扫描的方式遍历数组。这里有一个简单的示例:
```c
#include <stdio.h>
// 函数声明,返回值包括最大值和最小值
void findMinMax(int arr[], int n, int* min, int* max) {
*min = arr[0]; // 假设第一个元素为初始最小值
*max = arr[0]; // 同理,初始最大值
for (int i = 1; i < n; i++) { // 遍历数组
if (arr[i] > *max) { // 如果当前元素大于已知的最大值
*max = arr[i];
}
if (arr[i] < *min) { // 如果当前元素小于已知的最小值
*min = arr[i];
}
}
}
int main() {
int arr[] = {5, 3, 9, 1, 7};
int n = sizeof(arr) / sizeof(arr[0]);
int min, max;
findMinMax(arr, n, &min, &max); // 调用函数并传入指针地址
printf("最小值: %d, 最大值: %d\n", min, max);
return 0;
}
```
在这个例子中,`findMinMax`函数接受一个整数数组、数组长度以及两个指向整数的指针。通过循环遍历数组,它会更新这两个指针对应的值。在`main`函数中,我们创建了一个数组并调用这个函数来获取最小值和最大值。
阅读全文