首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C語言計算:本利和翻倍所需年數 (複利公式迭代法)

     編輯:關於C

已知本金 a、年利率 x%,求存入銀行幾年後本利和達到 2a。採用迭代法:每年將本金加上利息作為下一年本金,直到 ≥ 2a。程式互動輸入本金,固定利率 3.5%,列印每年累積金額與最終年數。

複利迭代邏輯

  • 初始 late_money = money(本金)。
  • 每年:late_money += begin_money * rate;begin_money = late_money。
  • 條件 late_money < 2 * money 持續迴圈。

程式碼

#include <stdio.h>

void star(void);

int main() {
    int i;
    float money, begin_money, late_money = 0, rate = 0.035f;
    star();
    printf("\t\t\t歡迎來到樂多多銀行\n");
    printf("我們銀行的利息率為%.3f.\n\n", rate);
    printf("請輸入您要存入的錢:");
    scanf("%f", &money);

    begin_money = late_money = money;
    for (i = 1; late_money < 2 * money; i++) {
        late_money += begin_money * rate;
        begin_money = late_money;
        printf("第%2d年後,你會有%.3f元。\n", i, late_money);
    }
    printf("\n%d年後,您就有%.3f元,此時本、利和翻了一番\n", i-1, late_money);
    printf("\n哈哈, 謝謝您的合作!\nGOOD BYE!\n");
    star();
    return 0;
}

void star(void) {
    for (int i = 0; i < 60; i++) printf("*");
    printf("\n");
}

執行結果

數學驗證

亦可用公式 n = log(2) / log(1+rate) 直接計算,迭代法更直觀易懂。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved