已知本金 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) 直接計算,迭代法更直觀易懂。