实验三(房贷利息估算)

 编程实现:

 王先生从银行贷了350,000元用于买房,贷款期限为20年

 ⑴用等额本息还款法,计算每月应还本息(每月月供)、20年总利息?

 ⑵用等额本金还款法,计算每月应还本息(每月月供)、20年总利息?

 ⑶比较两种还款方法,哪种利息多?

2021年贷款利率                    年利率(%)   

一至三年(含3年)              贷款 4.75

三至五年(含5年)              贷款 4.75

五年以上                              贷款 4.90

公积金贷款利率表     

五年以下                     贷款 2.75

五年以上                        贷款 3.25 

 银行住房贷款计算方法

 1、等额本息还款法:

   个人购房抵押贷款期限一般都在一年以上,则还款的方式之一是等额本息还款法,即从使用贷款的第二个月起,每月以相等的额度平均偿还贷款本金和利息。计算公式如下:

P:贷款本金   R:月利率    N:还款期数  其中:还款期数=贷款年限×12

每月应还本息 =总利息=还款期数×每月月供额-贷款本金

 2、等额本金还款法:

   等额本金还款方式比较简单。顾名思义,这种方式下,每次还款的本金还款数是一样的,每月应还利息不一样,每月的利息是递减的,因此,等额本金还款每个月的还款额是不一样的。开始还得多,而后逐月递减。计算公式如下:

P:贷款本金   R:月利率   N:还款期数   其中:还款期数=贷款年限×12

每月月供额=每月应还本金+当月应还利息

=(贷款本金÷还款期数)+(贷款本金-已归还本金累计额)×月利率

每月应还本金=贷款本金÷还款期数

第M月应还利息=剩余本金×月利率=(贷款本金-已归还本金累计额)×月利率

               =贷款本金×月利率-月还本金×月利率×(M-1)

 总利息=贷款本金×月利率×(还款期数+1)÷2

#include <stdio.h>
#include <math.h>
int main()
{
	int P = 350000, N = 240;
	int x = P / N;
	float R = 0.049;
	float rmb = (P * R / 12 * pow(1 + R / 12, N)) / (pow(1 + R / 12, N) - 1);
	float r1 = N * rmb - P;
	printf("(1)用等额本息还款法,每月应还本息为:%.2f元, 总利息为:%.2f元。\n\n",rmb,r1);
	int M = 0;
	printf("(2)用等额本金还款法,每月应还本息为:\n");
	for (M = 1; M <= 240; M++)
	{
		float m = x + P * (R / 12) - x * (R / 12) * (M - 1);
		printf("第%d月应还本息为:%.2f元\n", M, m);
	}
	float r2 = P * (R / 12) * (N + 1) / 2;
	printf("总利息为%.2f\n\n", r2);
	if (r1 > r2)
	{
		printf("(3)比较两种还款方法,等额本息还款总利息多。\n");
	}
	else
	{
		printf("(3)比较两种还款方法,等额本金还款总利息多。\n");
	}
	return 0;
}

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值