写一个函数,实现求一维数组的最大值、最小值、平均值。函数原型: int FindArray( int a[ ],int n, int &max,&min); 函数返回平均值,形参max,min带出最大值和最小值; 并在主函数中定义整型数组,完成FindArray调用,最后输出数组的最大值、最小值、平均值。
时间: 2023-03-13 08:46:25 浏览: 166
int FindArray(int a[], int n, int *max, int *min, int *avg)
{
int i;
*max = a[0];
*min = a[0];
int sum = 0;
for(i=0; i<n; i++)
{
if(a[i] > *max)
{
*max = a[i];
}
if(a[i] < *min)
{
*min = a[i];
}
sum += a[i];
}
*avg = sum/n;
return 0;
}
相关问题
写一个函数,实现求一维数组的最大值、最小值、平均值。函数原型: int FindArray( int a[ ],int n, int &max,&min); 函数返回平均值,形参max,min带出最大值和最小值
int FindArray(int a[], int n, int *max, int *min, double *average)
{
int i; *max = a[0]; *min = a[0]; *average = 0;
for(i=0; i < n; i++)
{
if(a[i] > *max)
*max = a[i];
if(a[i] < *min)
*min = a[i];
*average += a[i];
}
*average /= n;
return 0;
}
用c语言函数实现两个一维数组分别求两个数组的最大值最小值平均值
在C语言中,你可以创建三个函数分别用于找出两个一维数组的最大值、最小值以及计算它们的平均值。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数声明
double findMax(int arr1[], int n1, int arr2[], int n2);
double findMin(int arr1[], int n1, int arr2[], int n2);
double calculateAverage(int arr1[], int n1, int arr2[], int n2);
int main() {
// 示例数组
int arr1[] = {5, 10, 15};
int arr2[] = {2, 8, 12};
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int n2 = sizeof(arr2) / sizeof(arr2[0]);
double max_val = findMax(arr1, n1, arr2, n2);
double min_val = findMin(arr1, n1, arr2, n2);
double avg_val = calculateAverage(arr1, n1, arr2, n2);
printf("最大值: %.2f\n", max_val);
printf("最小值: %.2f\n", min_val);
printf("平均值: %.2f\n", avg_val);
return 0;
}
// 寻找两数组中的最大值
double findMax(int a[], int na, int b[], int nb) {
if (na > nb)
return findMax(b, nb, a, na);
else if (a[0] > b[0])
return a[0];
else
return findMax(&a[1], na - 1, &b[1], nb - 1);
}
// 寻找两数组中的最小值
double findMin(int a[], int na, int b[], int nb) {
if (na > nb)
return findMin(b, nb, a, na);
else if (a[0] < b[0])
return a[0];
else
return findMin(&a[1], na - 1, &b[1], nb - 1);
}
// 计算两数组的平均值
double calculateAverage(int a[], int na, int b[], int nb) {
double sum1 = 0, sum2 = 0;
for (int i = 0; i < na && i < nb; i++)
sum1 += a[i], sum2 += b[i];
return (sum1 + sum2) / (na + nb);
}
```
在这个例子中,`findMax` 和 `findMin` 是递归地比较两个数组元素,直到找到最大值或最小值。`calculateAverage` 则直接遍历数组计算总和并除以数组长度得到平均值。
阅读全文