如何使用C语言编写算法来找出一组给定的n个整数中的最大值和最小值?
时间: 2024-10-22 19:05:31 浏览: 23
C语言找出数组中的特定元素的算法解析
在C语言中,可以使用两个变量分别存储当前找到的最大值和最小值,然后遍历整个数组。以下是基本的步骤:
1. 定义两个整型变量`max`和`min`,初始值分别为数组的第一个元素(假设数组非空),或者一个非常大的负数和一个非常小的正数。
2. 使用for循环遍历数组,从第二个元素开始:
```c
for (int i = 1; i < n; i++) {
if (arr[i] > max) { // 如果当前元素大于max
max = arr[i]; // 更新max
}
if (arr[i] < min) { // 如果当前元素小于min
min = arr[i]; // 更新min
}
}
```
3. 循环结束后,`max`就是数组中的最大值,`min`就是最小值。
完整的函数示例:
```c
#include <stdio.h>
void findMinMax(int arr[], int n, int* max, int* min) {
*max = arr[0];
*min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > *max) {
*max = arr[i];
} else if (arr[i] < *min) {
*min = arr[i];
}
}
}
// 测试函数
int main() {
int arr[] = {5, 9, 1, 7, 3};
int n = sizeof(arr) / sizeof(arr[0]);
int max, min;
findMinMax(arr, n, &max, &min);
printf("Max value is: %d\n", max);
printf("Min value is: %d\n", min);
return 0;
}
```
阅读全文