能帮我看看错在哪了吗?
题目:
/*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