为什么C++程序编译的时候没有显示错误,程序也可以运行,但是显示不出结果?

题目是输入国内生产总值,年增长率,输出当国内生产总值是大于等于最开始两倍时,经过的年数#include<iostream>usingnamespacestd;intmai... 题目是输入国内生产总值,年增长率,输出当国内生产总值是大于等于最开始两倍时,经过的年数
#include<iostream>
using namespace std;
int main()
{int GNP,r,GNPn,n=1;
cin>>GNP>>r;
GNPn=(1+r)*GNP;
GNP=2*GNP;
while(GNPn<GNP)
{GNPn=(1+r)*GNPn;
n++;}
cout<<"年数是"<<n<<endl;
return 0;
}
展开
 我来答
8826055
2015-10-20 · TA获得超过7508个赞
知道大有可为答主
回答量:1680
采纳率:81%
帮助的人:874万
展开全部
你确定这些数据都是int?比如增长率当你输入0.1的时候读进去的却是0,会导致死循环。
按理说GNP,r,GNPn都应该是double吧。
更多追问追答
追问
那应该怎么改?
追答
double GNP,r,GNPn
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式