c语言输入10个实数,利用指针求其中的最大值和平均值。
时间: 2024-05-10 17:17:14 浏览: 121
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
下面是一个示例代码,可以实现你的需求:
```c
#include <stdio.h>
void find_max_and_avg(double *arr, int length, double *max, double *avg) {
double sum = 0;
*max = *arr; // 初始化最大值为第一个元素
for (int i = 0; i < length; i++) {
sum += *(arr+i); // 计算总和
if (*(arr+i) > *max) {
*max = *(arr+i); // 更新最大值
}
}
*avg = sum / length; // 计算平均值
}
int main() {
double arr[10], max, avg;
printf("请输入10个实数:\n");
for (int i = 0; i < 10; i++) {
scanf("%lf", &arr[i]);
}
find_max_and_avg(arr, 10, &max, &avg);
printf("最大值为:%.2lf\n", max);
printf("平均值为:%.2lf\n", avg);
return 0;
}
```
在这个代码中,我们首先定义了一个 `find_max_and_avg` 函数,该函数接受一个双精度浮点型数组、数组长度、以及两个指向双精度浮点型的指针作为参数。函数中使用指针来计算出数组中的最大值和平均值,并将结果保存在传入的指针所指向的变量中。
在 `main` 函数中,我们首先定义了一个长度为 10 的双精度浮点型数组 `arr`,然后使用循环从标准输入中读取用户输入的 10 个实数。接着,我们调用了 `find_max_and_avg` 函数来计算数组中的最大值和平均值,并使用 `printf` 函数输出结果。
在这个程序中,我们使用了指针来修改传入的变量,这样就可以在函数内部修改函数外部的变量值,从而实现了计算最大值和平均值的功能。
阅读全文