需要用c语言求解相关系数
数据都是0,1
我都是58个,我懒了所以直接写进去了
但是我结果会出现#INDOO
去了解了一下,可能是因为我的数据是0,1导致的分母可能为0?
【代码如下】
#include <stdio.h>
#include <math.h>
double Corrcoef(double A[],double B[], int Length) ;
int main(void){
double a[58],b[58];
int i=0;
int Length=58;
double sumA, sumB, aveA, aveB;
double A=0,B=0,C=0;
double result=0;
while(i<58){
printf("请输入第一个变量的值(%d):",i);
scanf("%f",&a[i]);
printf("请输入第二个变量的值(%d):",i);
scanf("%f",&b[i]);
i++;
}//输入数据
sumA=0;
sumB=0;
i=0;
while(i<58){
sumA=a[i];
sumB=b[i];
i++;
}//求和
aveA=sumA/(double)Length;
aveB=sumB/(double)Length;//求平均值
while(i<58){
A +=(a[i]-aveA)*(b[i]-aveB);
B +=pow((a[i]-aveA),2);
C +=pow((b[i]-aveB),2);
}
result=(R1/sqrt(R2*R3));
printf("相关系数为:%f",result);
return 0;
}