用c语言实现银行贷款程序(等额本息还款法、等额本金还款法)

 王先生从银行贷了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>
main()
{
    int p; // 贷款本金
    printf("\n请输入住房贷款本金(例:350000(元)):");
    scanf("%d", &p);

    float r = 0.049; // 贷款年利率
    int n;           // 还款期数

    int y; // 贷款年限
    printf("\n请选择输入贷款年限(例:20(年)):");
    scanf("%d", &y);

    n = 12 * y;
    float m1, m2, s1, s2; // 每月应还本息,总利息

    // 等额本金
    int month = y * 12; // 还款总月数
    int p1 = p / month; // 每月应还本金
    float m, m3;        // 第m月应还利息,每月应还本息
    int i;
    for (i = 1; i < n + 1; i++)
    {
        m = p * (r / 12) - p1 * (r / 12) * i; // 第m月应还利息
        m3 = p1 + m;                          // 每月应还本息
        printf("等额本金还款法第%d月应还本息为:%0.2f\n", i, m3);
    }
    s2 = p * r * (n / 12 + 1) / 2;
    printf("\n等额本金还款法总利息为:%0.2f\n\n", s2);

    // 等额本息
    m1 = (p * r / 12 * pow(1 + r / 12, n)) / (pow(1 + r / 12, n) - 1);
    printf("等额本息还款法每月应还本息为:%0.2f\n", m1);
    s1 = n * m1 - p;
    printf("等额本息还款法总利息为:%0.2f\n", s1);

    float arr[2];
    arr[0] = s1;
    arr[1] = s2;
    if (arr[0] > arr[1])
        printf("\n两种贷款方式中,等额本息还款总利息多。\n");
    else
        printf("\n两种贷款方式中,等额本金还款总利息多。\n");
}

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
银行贷款系统是一个比较复杂的系统,需要考虑到客户信息的存储、借贷记录的管理、利率计算、还款计划等多方面的因素。以下是一个简单的示例程序,用C语言实现了一个基本的贷款系统。 ```c #include <stdio.h> struct loan { char name[100]; double amount; double rate; int term; }; double calculate_interest(double amount, double rate, int term) { double interest = amount * rate * term / 12; return interest; } void print_loan(struct loan l) { printf("Name: %s\n", l.name); printf("Loan Amount: %.2lf\n", l.amount); printf("Interest Rate: %.2lf%%\n", l.rate * 100); printf("Loan Term: %d months\n", l.term); } int main() { struct loan l; printf("Enter borrower name: "); scanf("%s", l.name); printf("Enter loan amount: "); scanf("%lf", &l.amount); printf("Enter interest rate: "); scanf("%lf", &l.rate); printf("Enter loan term (in months): "); scanf("%d", &l.term); double interest = calculate_interest(l.amount, l.rate, l.term); double monthly_payment = (l.amount + interest) / l.term; printf("\nLoan Details:\n"); print_loan(l); printf("Total Interest: %.2lf\n", interest); printf("Monthly Payment: %.2lf\n", monthly_payment); return 0; } ``` 在上述程序中,我们使用了结构体来存储贷款信息,使用函数来计算利息和打印贷款信息。程序首先要求用户输入贷款信息,然后计算出总利息和每月还款金额,并将结果输出到屏幕上。需要注意的是,这只是一个简单的示例程序,实际的银行贷款系统需要考虑到更多的因素和细节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值