编写一个计算多个数据平均值的datas_ave函数,要求函数参数为两个:第一个参数是数组名或指针变量,用于接收实数参数组的首地址;第二个参数是整型变量,用于接受参与计算的数据个数。函数返回多个数据的平均值
下面是计算单精度浮点数数组平均数的实现,如果需要计算整数类型数组的平均值,把数组类型改为int然后做相应修改就可以了,供参考:
#include <stdio.h>
float datas_ave(float * arr,int num){
float ave=0; //存储数组arr平均数的变量
int i; //访问数组arr元素的下标变量
for(i=0;i<num;i++){ //遍历arr数组,把数组里的所有元素的值累加到平均值变量arr中,等待下一步计算
ave+=arr[i];
}
if(num!=0){ //如果数组元素个数不为0,则将累加的数组元素之和除以数组元素个数即为数组元素的平均值
ave/=num;
}else{ //如果数组元素个数为0,则其平均值为0
ave=0;
}
return ave; //返回平均值
}
int main(void){
//初始化数组arr,默认数组为5个元素,可以自己修改元素个数及其值,也可以用循环获取输入到数组arr
float arr[5]={1.1,2.2,3.3,4.4,5.5};
//下面是用循环获取输入来给数组arr赋值,两种给数组arr赋值的方式
// float arr[5];
// int i=0;
// while(i<5){
// printf("请输入数组第%d个元素的值:",i+1);
// scanf("%f",&arr[i]);
// i++;
// }
float ave = datas_ave(arr,5);
printf("数组arr的平均值是:%f.\n",ave);
return 0;
}