编写一个函数 find_max_min(arr),接收一个整数数组作为参数,返回该数组中的最大值,最 小值,平均值。
时间: 2024-10-05 13:04:41 浏览: 31
编写一个名为 `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`的C语言函数,它接收一个整数数组`arr`的地址(也就是指针)和数组的长度`size`。下面是一个简单的示例:
```c
#include <stdio.h>
#include <limits.h> // 引入INT_MAX以便获取最大的整数值
// 函数声明
int find_max(int* arr, size_t size);
int main() {
int array[] = {5, 9, 2, 7, 1, 8};
size_t array_size = sizeof(array) / sizeof(array[0]);
int max_value = find_max(array, array_size);
printf("数组中的最大值是: %d\n", max_value);
return 0;
}
// 函数实现
int find_max(int* arr, size_t size) {
int max_val = INT_MIN; // 初始化为负无穷大
for (size_t i = 0; i < size; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
}
}
return max_val;
}
```
在这个例子中,`find_max`函数遍历整个数组,每次都检查当前元素是否大于之前找到的最大值。如果是,就更新最大值。最后,函数返回找到的最大值。
C语言中定义一个函数,求数组的最大值和最小值,并返回其最大值与最小值。
在C语言中,你可以通过定义一个函数来找到数组的最大值和最小值。这里是一个简单的例子,假设你有一个整数数组:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MAX和INT_MIN,用于获取整型的最大和最小值
// 函数声明,接受一个整型数组和其大小作为参数
int* find_max_min(int arr[], int size);
int main() {
int my_array[] = {5, 10, 1, 8, 3};
int array_size = sizeof(my_array) / sizeof(my_array[0]);
int* result = find_max_min(my_array, array_size);
printf("Max value is: %d\n", result[0]);
printf("Min value is: %d\n", result[1]);
free(result); // 释放内存
return 0;
}
// 函数实现
int* find_max_min(int arr[], int size) {
int max_value = INT_MAX; // 初始化为最大值
int min_value = INT_MIN; // 初始化为最小值
for (int i = 0; i < size; i++) {
if (arr[i] > max_value) {
max_value = arr[i];
}
if (arr[i] < min_value) {
min_value = arr[i];
}
}
// 动态分配内存存储结果
int* result = (int*)malloc(sizeof(int) * 2);
result[0] = max_value;
result[1] = min_value;
return result;
}
```
在这个示例中,`find_max_min`函数遍历数组,更新最大值和最小值。最后,它会动态地创建一个包含这两个值的数组并返回。