按照每年复利的给定利率计算任何金额加倍的时间

时间:2015-05-20 19:50:23

标签: c++ while-loop int double

我试图写一个程序来计算每年复利的任何一笔钱加倍的时间。

当我运行此程序时,我发现了

  • 循环未退出
  • 计数器无休止地增加
  • 总和为100

我做错了什么?

int main(){
    cout << "Please enter the interest rate in % per annum:";
    int counter = 0;
    int sum=100;
    int interest = 0;
    cin >> interest;
    while(sum<200){
        counter++;
        sum += sum*(interest / 100);
        }
    cout << "\n It would take about " << counter << " years to double";
  }

1 个答案:

答案 0 :(得分:1)

interestint所以此行

interest / 100

正在进行整数除法,并且始终为0。快速解决方法是更改​​文字,以便进行浮点数学

sum += sum*(interest / 100.0);