编写一个函数 find_max_min(arr),接收一个整数数组作为参数,返回该数组中的最大值,最 小值,平均值。
时间: 2024-10-05 07:04:41 浏览: 174
编写一个名为 `find_max_min_avg` 的函数,可以接受一个整数数组 `arr` 作为输入参数,这个函数的主要任务是找到并返回数组中的最大值、最小值以及平均值。下面是一个简单的Python示例:
```python
def find_max_min_avg(arr):
# 初始化最大值、最小值和总和
max_value = arr[0]
min_value = arr[0]
total = sum(arr)
# 遍历数组查找最大值和最小值
for num in arr:
if num > max_value:
max_value = num
elif num < min_value:
min_value = num
# 计算平均值
avg_value = total / len(arr) if len(arr) != 0 else 0 # 防止除以零错误
return max_value, min_value, avg_value
# 使用示例
numbers = [4, 2, 9, 6, 1]
max_num, min_num, avg_num = find_max_min_avg(numbers)
print(f"最大值: {max_num}, 最小值: {min_num}, 平均值: {avg_num}")
```
相关问题
编写一个C语言程序,查找数组中最大值和最小值。 ? 要求:函数和的返回值类型为 find_max find_min int 数组大小应由用户输入,数组元素也需要由用户输入。 输出数组中的最大值和最小值。
在C语言中,你可以编写两个函数find_max和find_min来分别查找数组的最大值和最小值。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 函数声明
int find_max(int[], int size);
int find_min(int[], int size);
// 主函数
int main() {
int arr[100]; // 假设数组大小不超过100
int size;
int max, min;
printf("请输入数组元素的数量: ");
scanf("%d", &size);
if (size > sizeof(arr) / sizeof(arr[0])) {
printf("输入的数组大小过大,无法存储.\n");
return 1;
}
printf("请输入数组元素:\n");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
max = find_max(arr, size);
min = find_min(arr, size);
printf("数组中的最大值是: %d\n", max);
printf("数组中的最小值是: %d\n", min);
return 0;
}
// 查找最大值的函数
int find_max(int arr[], int size) {
int max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max)
max = arr[i];
}
return max;
}
// 查找最小值的函数
int find_min(int arr[], int size) {
int min = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min)
min = arr[i];
}
return min;
}
```
在这个程序中,用户首先输入数组的大小,然后依次输入每个元素。主函数会调用find_max和find_min这两个函数来找到数组中的最大值和最小值,并将结果打印出来。
find_max_min(arr, size, &max, &min);
`find_max_min(arr, size, &max, &min)` 函数可以用来寻找数组 `arr` 中的最大值(`max`)和最小值(`min`)。这是基于您给出的第一个引用[^1]中的`Findmax()` 和 `Findmin()` 函数思路,但这里使用了指针来传递最大值和最小值变量,而不是直接修改数组元素。
以下是该函数的实现:
```c++
void find_max_min(int arr[], int size, int* max, int* min) {
*max = arr[0];
*min = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
调用这个函数时,需要传入数组、数组大小以及指向最大值和最小值的指针,如下面这样:
```c++
int arr[] = {1, 2, 3, 4, 5};
int max_val, min_val;
int size = sizeof(arr) / sizeof(arr[0]);
find_max_min(arr, size, &max_val, &min_val);
cout << "最大值为: " << max_val << endl;
cout << "最小值为: " << min_val << endl;
```
阅读全文