用c语言求数组中元素的最大数、最小数。
时间: 2024-10-25 22:12:14 浏览: 19
C语言输出旋转后数组中的最小数元素的算法原理与实例
在C语言中,求解数组中元素的最大值和最小值可以采用迭代的方式,以下是两种常见的解决方案:
1. **遍历法**:
a) 定义两个变量`max_num`和`min_num`,初始化为数组的第一个元素。
b) 遍历整个数组,如果当前元素大于`max_num`,则更新`max_num`;如果小于`min_num`,则更新`min_num`。
c) 遍历结束后,`max_num`和`min_num`就是数组中的最大值和最小值。
```c
#include <stdio.h>
int findMax(int arr[], int n) {
int max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
int findMin(int arr[], int n) {
int min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
int main() {
int array[] = {5, 3, 8, 1, 9};
int size = sizeof(array) / sizeof(array[0]);
int max = findMax(array, size);
int min = findMin(array, size);
printf("最大值: %d\n", max);
printf("最小值: %d\n", min);
return 0;
}
```
2. **分而治之法**:
可以先找出数组的一半的最大值和最小值,然后在这两个子数组中分别找到各自的最大值和最小值。这种方法通常用于更大的数组,但增加了复杂度。
上述代码展示了如何简单地使用遍历法找到数组的最大值和最小值。如果你有其他关于这方面的疑问,或者需要更深入的讨论,随时告诉我。
阅读全文