一维实型数组 编写函数计算一维实型数组前n个元素的最大值、最小值和平均值。数组、n、最大值、最小值和平均值均作为函数形参,函数无返回值;在主函数中输入数据,调用函数得到结果。(要求用指针方法实现) 输入说明: 数据个数数据 输入说明: 最大数:最小数:平均: 输入示例: 5 1 2 3 4 5 输出示例: max:5.00 min:1.00 aveg:3.00
时间: 2023-12-03 14:42:02 浏览: 101
以下是用指针方法实现的代码:
```c++
#include <iostream>
using namespace std;
void calculate(float* arr, int n, float* max_val, float* min_val, float* aveg) {
// 初始化最大值和最小值为数组的第一个元素
*max_val = *arr;
*min_val = *arr;
// 计算数组元素之和
float sum = 0;
for(int i=0; i<n; i++) {
sum += *(arr+i);
if(*(arr+i) > *max_val) { // 更新最大值
*max_val = *(arr+i);
}
if(*(arr+i) < *min_val) { // 更新最小值
*min_val = *(arr+i);
}
}
// 计算平均值
*aveg = sum / n;
}
int main() {
int n;
cout << "请输入数据个数:";
cin >> n;
float arr[n];
cout << "请输入数据:";
for(int i=0; i<n; i++) {
cin >> arr[i];
}
float max_val, min_val, aveg;
calculate(arr, n, &max_val, &min_val, &aveg);
cout << "max:" << fixed << setprecision(2) << max_val << " ";
cout << "min:" << fixed << setprecision(2) << min_val << " ";
cout << "aveg:" << fixed << setprecision(2) << aveg << endl;
return 0;
}
```
其中,`calculate` 函数用于计算数组的最大值、最小值和平均值,参数包括实型数组指针 `arr`、数组长度 `n`,以及最大值、最小值和平均值的引用指针 `max_val`、`min_val` 和 `aveg`。在函数中,先初始化最大值和最小值为数组的第一个元素,然后遍历数组,更新最大值和最小值,并计算数组元素之和,最后计算平均值。
在 `main` 函数中,先输入数据个数和数组元素,然后调用 `calculate` 函数,得到最大值、最小值和平均值,并输出结果。其中,使用了 `setprecision` 函数控制输出结果的小数位数为 2。
阅读全文