QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 678|回复: 1

在WIN下写小C程,用TC编译通过,而L下GCC有错?

[复制链接]
发表于 2003-5-25 19:44:09 | 显示全部楼层 |阅读模式
最近专业课上要写一个小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正常编译通过的图示!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2003-5-25 21:00:04 | 显示全部楼层
试试
gcc -o temp temp.c -Wall -lm
关键是要加上 -lm参数, 这才能正确地将数学库联接进去
对于常用的库,gcc自己会自动联接, 对于不太常用的,对不起,哥们自己动手啦.
BTW, 拜托最后多加一句,printf("\n");
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 19:47 , Processed in 0.085522 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表