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

C語言基礎模擬:不漲薪、不投資、不消費,軟工幾年買得起 200 萬年增 10% 的房

     編輯:關於C

最悲觀假設:房價 200 萬年增 10%,軟工年薪固定 40 萬,不吃不喝全存,無投資報酬。每年存款增加 40 萬,房價乘 1.1。模擬發現存款永遠追不上房價(100 年內不可買),印出悲劇結果。

邏輯與代碼

#include <stdio.h>

int main() {
    int i=0, flag=0;
    float salary=40, house=200, rate=0.1, savings=0;
    house = house * (1+rate); // 第1年底房價

    while (salary * i < house) { // 這裡邏輯有誤,應累積薪資
        i++;
        house += house * rate; // 房價複利
        if (i > 100) { flag=0; break; }
    }
    if (flag) printf("%d年後可買房\n", i);
    else printf("工作一輩子也買不起房!\n");
    return 0;
}

輸出結果

程式 Bug 指出

原碼條件 salary * i < house 錯誤,應為累積變數 savings += salary。修正後仍發現:固定薪資 vs 複利房價,存款增長為等差數列,房價為等比數列,長期必敗。

正確累積版


float savings = 0;
while (savings < house) {
    savings += salary;
    house *= 1.1;
    i++;
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved