用C语言写一个自动返回数组中最大值和最小值的函数
时间: 2023-04-03 09:02:07 浏览: 161
可以使用以下代码实现:
#include <stdio.h>
void findMinMax(int arr[], int len, int *max, int *min) {
*max = arr[];
*min = arr[];
for (int i = 1; i < len; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
int main() {
int arr[] = {3, 5, 1, 9, 2, 8};
int len = sizeof(arr) / sizeof(arr[]);
int max, min;
findMinMax(arr, len, &max, &min);
printf("Max: %d\n", max);
printf("Min: %d\n", min);
return ;
}
相关问题
用c语言写出求一个数组中最大值,最小值以及最大值和最小值的平均数,用调用函数写出
可以使用以下代码实现:
```c
#include <stdio.h>
// 函数声明
int max(int arr[], int size);
int min(int arr[], int size);
float avg(int a, int b);
int main() {
// 定义数组和数组长度
int arr[] = {5, 2, 9, 3, 7, 1, 8, 4, 6};
int size = sizeof(arr) / sizeof(arr[0]);
// 调用函数求最大值、最小值和平均数
int max_val = max(arr, size);
int min_val = min(arr, size);
float avg_val = avg(max_val, min_val);
// 输出结果
printf("最大值为 %d\n", max_val);
printf("最小值为 %d\n", min_val);
printf("最大值和最小值的平均数为 %.2f\n", avg_val);
return 0;
}
// 求最大值
int max(int arr[], int size) {
int max_val = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
}
}
return max_val;
}
// 求最小值
int min(int arr[], int size) {
int min_val = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min_val) {
min_val = arr[i];
}
}
return min_val;
}
// 求平均数
float avg(int a, int b) {
return (a + b) / 2.0;
}
```
运行后输出结果为:
```
最大值为 9
最小值为 1
最大值和最小值的平均数为 5.00
```
c语言利用指针方法,求数组中最大值和最小值
可以使用指针遍历数组并比较元素大小来求解数组的最大值和最小值,以下是示例代码:
```c
#include <stdio.h>
void findMinMax(int *arr, int size, int *min, int *max) {
// 初始化最小值和最大值为数组第一个元素
*min = *max = *arr;
for (int i = 1; i < size; i++) {
if (*(arr + i) < *min) {
*min = *(arr + i);
}
if (*(arr + i) > *max) {
*max = *(arr + i);
}
}
}
int main() {
int arr[] = {3, 1, 6, 2, 8, 4};
int size = sizeof(arr) / sizeof(int);
int min, max;
findMinMax(arr, size, &min, &max);
printf("最小值为:%d\n", min);
printf("最大值为:%d\n", max);
return 0;
}
```
在上述代码中,`findMinMax` 函数接收一个整型数组指针 `arr`、数组大小 `size`、一个指向最小值的指针 `min` 和一个指向最大值的指针 `max`。函数中首先将最小值和最大值初始化为数组中的第一个元素,然后遍历数组并比较元素大小,如果当前元素比最小值小,则更新最小值指针所指向的值;如果当前元素比最大值大,则更新最大值指针所指向的值。最后在 `main` 函数中调用 `findMinMax` 函数,并输出最小值和最大值。
阅读全文