我正在尝试编写一个程序,计算以给定的年利率复利,任何金额翻倍所需的时间。

当我运行该程序时,我发现

  • 循环没有退出
  • 计数器不断增加
  • ,总和停留在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";
      }
    

    最佳答案

    interestint,所以这一行

    interest / 100
    

    正在执行整数除法,并且始终为0。快速解决方案是更改文字,以便您进行浮点数学运算
    sum += sum*(interest / 100.0);
    

    关于c++ - 以给定的利率每年计算任何金额加倍的时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30359118/

    10-09 13:34