C语言--求数组的最大值和最小值以及正数之和
时间: 2024-09-21 21:03:45 浏览: 50
在C语言中,计算数组的最大值、最小值以及正数之和可以分为几个步骤:
1. 定义函数:首先,你可以创建三个函数,分别用于查找最大值(max),最小值(min)和正数之和(pos_sum)。
```c
#include <stdio.h>
#include <limits.h>
// 函数声明
int find_max(int arr[], int n);
int find_min(int arr[], int n);
int positive_sum(int arr[], int n);
int main() {
// ... (程序主体,调用上述函数)
}
```
2. 查找最大值:`find_max`函数遍历数组,将当前元素与已知的最大值比较,更新结果。
```c
int find_max(int arr[], int n) {
int max = INT_MIN;
for (int i = 0; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
```
3. 查找最小值:`find_min`函数类似,只是寻找最小值。
```c
int find_min(int arr[], int n) {
int min = INT_MAX;
for (int i = 0; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
```
4. 计算正数之和:`positive_sum`函数初始化总和为0,然后逐个检查元素是否为正数,如果是则累加。
```c
int positive_sum(int arr[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
if (arr[i] > 0) {
sum += arr[i];
}
}
return sum;
}
```
5. 调用函数并输出结果:在`main`函数中,传入数组和长度作为参数,并打印出结果。
```c
int arr[] = {5, -2, 8, 3, -9, 6};
int n = sizeof(arr) / sizeof(arr[0]);
int max_val = find_max(arr, n);
int min_val = find_min(arr, n);
int pos_sum = positive_sum(arr, n);
printf("最大值: %d\n", max_val);
printf("最小值: %d\n", min_val);
printf("正数之和: %d\n", pos_sum);
```
阅读全文