首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

能帮小弟我看看错在哪了吗

2013-01-11 
能帮我看看错在哪了吗?题目:/*Daphne以10%原单利投资了100美元。也就是说,每一年的利润都是投资额的10%。即

能帮我看看错在哪了吗?
题目:
/*Daphne以10%原单利投资了100美元。也就是说,每一年的利润都是投资额的10%。即每年10美元:利息=0.10*原始存款
而Cleo在第一年投资100美元的盈利是5%--得到了105美元。下一年的盈利是105美元的5%--即5.25美元,依此类推。请编写一个程序,计算多少年后,Cleo的投资价值才能超过Daphne的投资价值,并显示此时两人的投资价值。*/
#include<iostream>
using namespace std;
int main()
{
double Daphne=100.0,Cleo=100.0;
int n=1;
do
{
n++;
Daphne=Daphne+0.10*n*100;
Cleo=Cleo*(1+0.05);
}while(Daphne>Cleo);
cout<<n<<endl;
cout<<Daphne<<endl;
cout<<Cleo<<endl;
return 0;
}
调试的时候窗口没有输出……
[解决办法]
修改如下


#include<iostream>
using namespace std;
int main()
{
double Daphne=100.0,Cleo=100.0;
int n=0;
do
{
n++;
Daphne=Daphne+0.10*100;
Cleo=Cleo*(1+0.05);
}while(Daphne>Cleo);
cout<<n<<endl;
cout<<Daphne<<endl;
cout<<Cleo<<endl;
return 0;
}

[解决办法]
double Daphne=100.0,Cleo=100.0;
int n=1;
do
{
n++;
Daphne=Daphne+0.10*n*100;
Cleo=Cleo*(1+0.05);
}while(Daphne>Cleo);
1. “Daphne>Cleo” 浮点数比较最好不要这样直接比,可能会出现问题 
2. Daphne=Daphne+0.10*n*100; 应该是 Daphne=Daphne+0.10*100;

[解决办法]
之所以没有输出,是因为Daphne你求错了,
这样子Daphne=Daphne+0.10*n*100;Daphne永远都大于Cleo

热点排行