#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float f1(float*,int), f2(float*,int);
int main()
{ int n,i;
float p;
scanf("%d",&n);
p=(float)malloc(sizeof(float)n);
for(i=0;i<n;i++)scanf("%f",p+i);
printf("f1=%.2f\n",f1(p,n));
printf("f2=%.2f\n",f2(p,n));
}
float f1(float x,int n)
{ int i;
float t=0;
for(i=0;i<n;i++)t+=x[i];
return t/n;
}
float f2(float* x,int n)
{ int i;
float a,t=0;
a=f1(x,n);
for(i=0;i<n;i++)t+=fabs(a-x[i]);
return t/n;
}
输入的数据:4 5.2 5.4 5.6 5.8。输出的结果是:
( )
( )
这个程序要怎么看啊 p=后面那一串是什么意思 谁能帮忙分析一下整个程序🙏
p=(float *)malloc(sizeof(float)*n); 也就是 float p[n],根据输入的n动态分配数组内存空间。
f1,求数组平均数
float f1(float* x,int n)也就是float f2(float x[],int n)
f2 , 求数组平均偏差。
学习下