#include <stdio.h>
#define bool int
#define false ()
#define true 1
struct Data{
double x;
double y;
};
struct Data data[50];
int dataNum;
double a,b;
double sumXY;
double sumX;
double sumY;
double sumXX;
//DURU
bool Inputs(){
return true;
}
void Init(){
}
void LineReg(){
}
void Outputs(){
}
int main(){
if (Inputs()==false){
return 0;
}
Init();
LineReg();
Outputs();
system("pause");
return 0;
}
bool Inputs(){
char fname[256];
printf("请输入存放数据的文件名:");
scanf("%s",fname);
printf("\n样本数目:\n");
scanf("%d",&dataNum);
FILE*fp=fopen(fname,"rb");
if(fopen==NULL){
printf("不能打开输入的文件\n");
return false;
}
for (int i=0;i<dataNum;i++){
fscanf(fp,"%lf,%lf",&data[i].x,&data[i].y);
}
fclose(fp);
return true;
}
void Init(){
a=b=sumXY=sumX=sumY=sumXX=0;
}
void LineReg(){
for(int i=0;i<dataNum;i++){
sumXY += data[i].x*data[i]*y;
sumX +=data[i].x;
sumY +=data[i].y;
sumXX +=data[i].x*data[i].x
}
b=(sumXY*dataNum-sumX*sumY)/(sumXX*dataNum-sumX*sumX);
a=sumY/dataNum-b*sumX/dataNum;
printf("Y=%.2lfX+%.2lf\n",b,a);
}
void Outputs(){
double x;
double y;
printf("请输入房屋的面积(单位:平方米):");
scanf("%lf",&x);
y=a+b*x;
printf("预计房价为:%.2lf元\n",y);
}
03-11
10-14
3207
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
12-06
890
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-14
1402
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交