自定义函数数组输入的问题
要求编写3个自定义函数,分别统计一个数组的平均值,方差和中位数,代码如下:平均值函数:
#include <stdio.h>
#include <stdlib.h>
float average(int a[10])
{
int sum=0;
int i=0;
float ave;
for (i=0;i<10;i++)
{
sum=sum+a[i];
}
ave=sum/10;
return (ave);
}
方差函数:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float variance (int a[10],float ave)
{
printf("%lf",ave);
int i=0;
float temp1,temp2;
float temp3=0;
float var;
for (i=0;i<10;i++)
{
temp1=a[i]-ave;
temp2=pow(temp1,2);
temp3=temp3+temp2;
}
var=sqrt(temp3);
return (var);
}
中位数函数:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float median(int a[10])
{
int i=0;
int j=0;
int temp;
float Median;
for (i=0;i<10;i++)
{
for (j=0;j<=i;j++)
{
if (a[i]>=a[j])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
printf("%d\n",a[i]);
}
Median=(a[4]+a[5])/2;
return (Median);
}
主函数:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "Function.h"
int main()
{
int a[10];
int *p;
int i=0;
float Ave,Var,Med;
for (i=0;i<10;i++)
{
printf("请输入数据\n");
scanf("%d",&a[i]);
}
p=a;
Ave=average(p);
Var=variance(p,1);
Med=median(p);
printf("Ave=%f",Ave);
printf("Var=%f",Var);
printf("Med=%d",Med);
return 0;
}
其中方差函数在主函数中第二个输入值一直输入不正确?中位数函数不对..求指导..