|
最近专业课上要写一个小C程,
WIN用下用TC编译通过,
我从来没用GCC编译过东西,所以这一次想用一下它,
结果出现N多错误,下面是我在WIN下编译通过的图示,
附上原C程,
哪位能不能帮我修改一下,让LINUX下的GCC也可以正常编译!
我就是想在LINUX编译一个C程做个试验看看!
源码;
引用:
# include <math.h>
void line_w(x,y,n,a,b,r)
int n;
double x[],y[],*a,*b,*r;
{int i;
double lxx,lxy,lyy,x1,x2,y1,y2,xy;
x1=0.0;x2=0.0;y1=0.0;y2=0.0;xy=0.0;
for(i=0;i<n-1;i++){
x1+=x;
y1+=y;
x2+=x*x;
y2+=y*y;
xy+=x*y;
}
lxx=x2-x1*x1/n;
lyy=y2-y1*y1/n;
lxy=xy-x1*y1/n;
*b=lxy/lxx;
*a=(y1-(*b)*x1)/n;
*r=lxy/sqrt(lxx+lyy);
}
# include <stdio.h>
main()
{int i,n=7;
double Re,Nu=29.2;
double a,b,r,x[7],y[7];
double x_x[]={3520 ,6050,8400,9970,14180,15900,18080};
double y_y[]={11.6,18.1,23.5,26.9,36.8,39.0,43.2};
for(i=0;i<6;i++){
x=log(x_x);
y=log(y_y);
}
line_w(x,y,n,&a,&b,&r);
printf("\na=%e;b=%e\n",exp(a),b);
printf("r=%e\n",r);
Re=(log(Nu)-a)/b;
printf("when Nu=29.2\tRe=");
printf("%e",Re);
}
下面是可以在WIN下的TC正常编译通过的图示!
|
|