编写函数计算一维实型数组前n个元素的最大值、最小值和平均值。数组、n、最大值、最小值和平均值均作为函数形参,函数无返回值;在主函数中输入数据,调用函数得到结果。(要求用指针方法实现)
时间: 2023-04-29 19:04:34 浏览: 148
请使用以下代码实现:
```c
void calculate(float* array, int n, float* max, float* min, float* avg) {
*max = *min = *avg = *array;
for (int i = 1; i < n; i++) {
if (*(array + i) > *max) *max = *(array + i);
if (*(array + i) < *min) *min = *(array + i);
*avg += *(array + i);
}
*avg /= n;
}
```
```c
int main() {
float array[10], max, min, avg;
int n;
// 输入数组
for (int i = 0; i < 10; i++) {
scanf("%f", &array[i]);
}
// 输入 n
scanf("%d", &n);
calculate(array, n, &max, &min, &avg);
printf("最大值: %f\n", max);
printf("最小值: %f\n", min);
printf("平均值: %f\n", avg);
return 0;
}
```
上面的代码使用了指针方法来计算一维实型数组前n个元素的最大值、最小值和平均值。数组、n、最大值、最小值和平均值均作为函数形参,函数无返回值。在主函数中输入数据,调用函数得到结果。
阅读全文