
#include<stdio.h>
#include<math.h>
int main()
{
double z,k,x,monthPay,allMoney,temp=0
int n,i
printf("输入借款总额、贷款年限、年利率: ")
//贷款总和最好不要用int型的,int的最大值是32767,那你岂不是超了
scanf("%lf%d%lf",&z,&n,&k)
//计算n年后要还的总的钱数 pow(x,y)是在头文件math.h中的函数计算x^y
allMoney = z*pow((1+k/12),12*n)
//式子∑x(1+k/12)^i (i=0,1,2,..,n*12-1)将x提出到前面计算 temp=∑(1+k/12)^i
for(i=0i<12*ni++)
temp += pow((1+k/12),i)
//根据等式z(1+k/12)^(12*n) = ∑x(1+k/12)^i (i=0,1,2,..,n*12-1) 得x=allMoney/temp
x = allMoney/temp
printf("每月应还款:%lf", x)
}
等额本息还款,也称定期付息,即借款人每月按相等的金额偿还贷款本息,其中每月贷款利息按月初剩余贷款本金计算并逐月结清。把按揭贷款的本金总额与利息总
额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。
每月等额还本付息额:
P:贷款本金
R:月利率
N:还款期数
其中:还款期数=贷款年限×12
每月还款的公式
例如:
计算贷款还款额。贷款一年利率为3%,一年到五年利率为4%,五年到10年利率为5%,10年以上为6%。要求编写程序实现,输入贷款额度和年限,输出每月还款额。
C源程序:
#include <stdio.h>#include <math.h>
int main() {
int total, year
double rate_year
scanf("%d %d", &total, &year)
if(year <= 1)
rate_year = 0.03
else if(year <= 5)
rate_year = 0.04
else if(year <= 10)
rate_year = 0.05
else
rate_year = 0.06
double rate = rate_year / 12
printf("%lf\n", total*pow(rate+1,year*12)*rate/(pow(rate+1,year*12)-1))
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)