某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款(money)取决于还款月数(month) 。客户打算在5—30年的范围内选择还清贷款的年限,想得到一张“还款年限—月还款额表”以供参考。编写程序,输入贷款本金loan和月利率rate,输出“还款年限—月还款额表”,还款年限的范围是5—30年,输出时分别精确到年和元。 Money=loan*rate*(1+rate)^month/[(1+rate)^month-1] **输入格式要求:"%d" "%lf" 提示信息:"请输入贷款本金:loan\n" "请输入月利率:rate\n" **输出格式要求:"还款年限\t月还款额\n" "%d\t\t%.0f\n"
时间: 2023-07-19 12:53:00 浏览: 47
好的,这是一个比较典型的等额本息还款计算问题,可以使用循环来计算不同还款年限下的月还款额。以下是一个可能的解决方案:
```c
#include <stdio.h>
#include <math.h>
int main() {
double loan, rate;
printf("请输入贷款本金:");
scanf("%lf", &loan);
printf("请输入月利率:");
scanf("%lf", &rate);
printf("还款年限\t月还款额\n");
for (int year = 5; year <= 30; year++) {
int month = year * 12;
double monthly_rate = rate / 12.0;
double factor = pow(1 + monthly_rate, month);
double monthly_payment = loan * monthly_rate * factor / (factor - 1);
printf("%d\t\t%.0f\n", year, monthly_payment);
}
return 0;
}
```
在这个程序中,我们首先输入贷款本金和月利率,然后使用一个循环来计算各个还款年限下的月还款额。对于每个年限,我们将其转换为月数,然后根据月利率和还款月数计算出每月应还的固定金额。最后,我们输出还款年限和月还款额,其中月还款额使用了 "%.0f" 格式来保留整数部分。