某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(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" 程序运行示例如下: 请输入贷款本金:loan 500000 请输入月利率:rate 0.0023 还款年限 月还款额 5 8931 6 7543 7 6553 8 5810 9 5234 10 4773 11 4396 12 4083 13 3818 14 3592 15 3395 16 3224 17 3074 18 2940 19 2820 20 2713 21 2617 22 2529 23 2449 24 2376 25 2309 26 2248 27 2191 28 2138 29 2089 30 2044
时间: 2023-07-07 21:22:45 浏览: 148
等息还款计算公式(还贷问题)
好的,以下是实现该功能的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int loan, month;
double rate;
printf("请输入贷款本金:loan\n");
scanf("%d", &loan);
printf("请输入月利率:rate\n");
scanf("%lf", &rate);
printf("还款年限\t月还款额\n");
for (month = 60; month <= 360; month += 12) {
double tmp = pow(1 + rate, month);
double money = loan * rate * tmp / (tmp - 1);
printf("%d\t\t%.0f\n", month / 12, money);
}
return 0;
}
```
程序思路:
1. 通过 scanf 函数获取用户输入的贷款本金和月利率。
2. 使用 for 循环遍历还款年限 5 年到 30 年,每次增加1年,计算对应的月还款额。
3. 对于每个还款年限,使用公式计算月还款额并输出。
4. 输出格式为“还款年限\t月还款额”,其中 \t 表示制表符,使输出对齐。
需要注意的是,公式中的月利率需要先除以 12,转换为每月利率。输出时,月还款额需要使用 %.0f 格式,保留整数位,以符合题目要求。
阅读全文