以给定的年复利计算任何金额翻倍的时间



我正试着写一个程序,计算在给定的年复利下,任何一笔钱翻一番所需要的时间。

当我运行这个程序时,我发现

  • 循环未退出
  • 计数器无限递增
  • ,总金额为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);

最新更新