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

C語言基礎練習:儲蓄利息計算 (三種方案比較)

     編輯:關於C

題目

本金 1000 元,三種存款方案:

  1. 活期:年利率 0.36% (R1=0.0036)
  2. 定期一年:年利率 2.25% (R2=0.0225)
  3. 定期半年兩期:年利率 1.98% (R3=0.0198),半年結息一次

求一年後本利和。

程式碼

#include 
int main() {
    float P0 = 1000.0f;
    float R1 = 0.0036f, R2 = 0.0225f, R3 = 0.0198f;
    float P1, P2, P3;
    
    P1 = P0 * (1 + R1);                 // 活期
    P2 = P0 * (1 + R2);                 // 定期一年
    P3 = P0 * (1 + R3/2) * (1 + R3/2);  // 半年複利兩次
    
    printf("P1=%.2f\nP2=%.2f\nP3=%.2f\n", P1, P2, P3);
    // P1=1003.60  P2=1022.50  P3=1019.90
    return 0;
}

金融數學解析

  • 單利:P = P0 * (1 + r*t) (方案 1, 2)。
  • 複利:P = P0 * (1 + r/n)^(n*t) (方案 3, n=2, t=1)。
  • 方案 2 (定期一年) 收益最高,但流動性最差。

精度建議

  • 財務計算禁用 float/double (二進位浮點無法精確表示 0.01 等十進位小數)。
  • 應用 定點整數 (以「分」為單位,int64_t) 或 BCD 庫 / decimal 型別。
  • 示範:int64_t principal = 100000; // 1000.00 元 = 100000 分。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved