我想做一個(gè)簡(jiǎn)單的程序來(lái)計(jì)算5年分期付款的債務(wù)分期付款。要求是:第一年和第二年銀行利息為8%第三年的銀行利息為9%第4年和第5年銀行利息為10%輸出應(yīng)為:第一期和第二期付款的價(jià)值第3年之前的剩余債務(wù)第三期付款的價(jià)值第4年之前的剩余債務(wù)第四期和第五期付款的價(jià)值這是我的代碼:package mainimport "fmt"func main() { var debt = 200000000 var installment int for i := 1; i <= 5; i++ { var remainDebt int if i < 3 { installment = (debt / 5) + (debt * 8 / 100) remainDebt = debt - installment fmt.Println("Year", i, "is", installment) fmt.Println("Remaining debt is", remainDebt) } else if i == 3 { installment = (debt / 5) + (debt * 9 / 100) remainDebt = debt - installment fmt.Println("Year", i, "is", installment) fmt.Println("Remaining debt is", remainDebt) } else if i > 3 { installment = (debt / 5) + (debt * 10 / 100) fmt.Println("Year", i, "is", installment) } }}我的代碼的輸出是:Year 1 is 56000000Remaining debt is 144000000Year 2 is 56000000Remaining debt is 144000000Year 3 is 58000000Remaining debt is 142000000Year 4 is 60000000Year 5 is 60000000我不知道為什么每年剩下的債務(wù)是錯(cuò)誤的。所以,我想我要么使用了錯(cuò)誤的語(yǔ)法,要么我試圖做一些無(wú)法做到的事情。也許最有可能有經(jīng)驗(yàn)的人會(huì)立即看到問(wèn)題所在。
1 回答

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
var remainDebt int
這條線應(yīng)該在for循環(huán)之前,它的起始值應(yīng)該是債務(wù)值。在代碼中,每次迭代都會(huì)成為其默認(rèn)值 0。但是在循環(huán)的每次迭代中,它應(yīng)該不斷減少。
行應(yīng)更正如下。因?yàn)槟鷳?yīng)該減少您支付的貸款的資本金額,而不是分期利息。remainDebt = debt - instalment
`remainDebt = remainDebt - debt / 5`
您可以在此處查看更正后的代碼
- 1 回答
- 0 關(guān)注
- 96 瀏覽
添加回答
舉報(bào)
0/150
提交
取消