C和C++的double问题

runningsnail2011 2012-08-21 10:34:51
最近在做POJ2109时,看到网上直接用double和pow做的

分别用C++和C都提交了一遍,结果C++能过,C过不了
C++
#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;

const double eps=1e-6;

int main()
{
double n,p;
while(scanf("%lf %lf",&n,&p)!=EOF)
{
double ans=pow(p+eps,1.0/n);
printf("%.0lf\n",ans);
}
return 0;
}

C
#include <stdio.h>
#include <math.h>

const double eps=1e-6;

int main()
{
double n,p,ans;
while(scanf("%lf %lf",&n,&p)!=EOF)
{
ans=pow(p+eps,1.0/n);
printf("%.0lf\n",ans);
}
return 0;
}

深入研究过这些的大神给讲讲这是为什么啊
不胜感激!
...全文
193 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
runningsnail2011 2012-08-22
  • 打赏
  • 举报
回复
额,问题已经查出来了
是POJ的编译器问题,
在提交C代码的时候选择GCC就过不了
选择C就可以过了
但是为什么嘞?

const是C的一个关键字啊
tianxiadys 2012-08-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

oj上c一般已经帮你-lm了
但是c里有const么
[/Quote]
没有
FancyMouse 2012-08-22
  • 打赏
  • 举报
回复
oj上c一般已经帮你-lm了
但是c里有const么
图灵狗 2012-08-21
  • 打赏
  • 举报
回复
编译的时候需要链接数学库,用GCC的话,这样gcc test.c -lm编译即可。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧