Easy C ++ bloodshed dev c ++

时间:2013-05-09 02:40:54

标签: c++ double formula

为什么要打印1 ???它驱使我INSANE。应该是打印1.01005016708

我正在使用流血的dev c ++来编译

#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

int main()
{
    double rate = .05;
    double time = (1/5);
    double p = exp(rate*time);
    cout<<p<<endl;
    system("PAUSE");
    return 0;
}

3 个答案:

答案 0 :(得分:3)

1/5是整数除法 - 操作数都是整数,因此你得到0。

使用1.0 / 5,确保至少有一个操作数 double &amp;并且您的除法将以浮点双精度执行。

两个整数操作数,将为您提供整数除法。

答案 1 :(得分:1)

 double time = (1/5);

应该是

 double time = (1.0/5); 

否则,由于整数除法截断,time将获得0.0。因此,p = exp(0.0)将为1.

答案 2 :(得分:0)

对不起,这不是你问题的答案,但托马斯和塔科普得到了这个。

你应该寻找一个新的IDE来使用,我自己切换到code :: blocks,我觉得它很棒,但这里有一些原因:

  
      
  1. 自2005年以来,Dev-C ++尚未更新,目前尚未维护。该软件非常多。在我写作的时候   有340个已知的错误永远无法解决。

  2.   
  3. 很难获得帮助,因为编程社区已经转向更新的软件。

  4.   
  5. Dev-C ++缺乏更现代化解决方案中的功能。代码完成,智能感知和适当的调试工具(在   其他)没有提供。这些工具可以大大改善   有经验的程序员的工作流程和效率,并可能有助于   学习初学者。

  6.   
  7. 与更现代的解决方案相比,错误消息和解决这些问题所需的步骤记录很少,而且大多数都是如此   程序员已经从Dev-C ++转移到它可能很困难(如果没有   找不到任何能够帮助你的人。有些问题可能会   根本无法解决。 Dev-C ++附带的编译器是   非常过时,而且越野车。过时的编译器可能导致错误   和低效的代码,可能会损害学习过程   初学者。

  8.   
  9. 现代图书馆不再支持所提供的“devpack”系统。在Dev-C ++中使用外部库可能会令人困惑   对于期待这个简单系统的初学者来说,这是一个艰难的过程   为他们处理它。有很多现代,免费提供   没有遭遇同样问题的替代方案,它就是   简直荒谬的是,任何初学者都应该最终使用这样的   作为Dev-C ++的可怕而过时的工具。

  10.   

另外,你可以摆脱那个可怜的system("PAUSE");