首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Easy C++放血开发c++

Easy C++放血开发c++
EN

Stack Overflow用户
提问于 2013-05-09 10:40:54
回答 3查看 356关注 0票数 0

为什么这是打印1?快把我逼疯了。应打印1.01005016708

我正在使用血腥的开发者c++来编译

代码语言:javascript
复制
#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;
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-09 10:42:05

代码语言:javascript
复制
 double time = (1/5);

应该是

代码语言:javascript
复制
 double time = (1.0/5); 

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

票数 1
EN

Stack Overflow用户

发布于 2013-05-09 10:41:40

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

使用1.0 / 5,以确保至少有一个操作数为双精度浮点数&并且您的除法将以浮点双精度(-)形式执行。

两个整数操作数,将给你整数除法。

票数 3
EN

Stack Overflow用户

发布于 2013-05-09 10:51:44

很抱歉,这不是您问题的答案,但Thomas和tacop已经介绍了。

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

  1. 开发人员-C++自2005年以来就没有更新过,目前也没有进行维护。这个软件有很多缺陷。在我写这篇文章的时候,有340个已知的software.
  2. Dev-C++永远无法修复。
  3. 很难得到帮助,因为编程社区已经转向更新的bug,缺少更现代的解决方案中存在的功能。没有提供代码完成、智能感知和适当的调试工具(以及其他工具)。这些工具可以极大地提高有经验的程序员的工作流程和效率,并且可以帮助学习beginners.
  4. Error消息,与更现代的解决方案相比,解决这些消息所需的步骤文档很少,而且因为大多数程序员已经从Dev-C++迁移过来,所以很难(如果不是不可能的话)找到能够帮助您的人。有些问题可能根本不能解决。包含在Dev-C++中的编译器非常过时,并且有错误。过时的编译器可能会导致错误和低效的代码,并且可能会破坏beginner.
  5. The的学习过程,因为现代库不再支持“devpack”系统。对于希望这个简单的系统为他们处理的初学者来说,在Dev-C++中使用外部库可能是一个令人困惑和困难的过程。有很多现代的、免费的替代方案,它们不会遇到同样的问题,任何初学者最终都会使用像Dev-C++这样可怕和过时的工具,这简直是荒谬。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16453468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档