|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
@小甲鱼
运行结果:
================房贷计算================
请输入单价(元/平方) :6000
请输入面积:120
请输入按揭成数:7
请输入按揭年数:20
请输入当前基准年利率:5.4
================报告结果================
房款总额: 720000.00元
贷款总额: 504000.00元
首期付款: 216000.00元
月均还款: 3438.53元
还款总额: 825248.38元
支付利息: 321248.38元
================小甲鱼方案================
请输入单价(元/平方) :6000
请输入面积:120
请输入按揭成数:7
请输入按揭年数:20
请输入当前基准年利率:5.4
========== 报告结果 ==========
房款总额:720000.00元
首期付款:216000.02元
贷款总额:504000.00元
还款总额:825248.44元
支付利息:321248.44元
月均还款:3438.54元
- /*
- 0. “买房难,难于上青天……”(算了,不吐槽了o(╯□╰)o)
- 请根据下边的提示,写一个等额本息的还款计算器。
- 小知识:
- 等额本息还款法,也称定期付息,即借款人每月按相等的金额偿还贷款本息,
- 其中每月贷款利息按月初剩余贷款本金计算并逐月结清。
- 月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
- 总利息 = 还款月数 * 月均还款 - 贷款本金
- 贷款本金 = 房款总额 * 按揭成数
- 程序要求用户输入房屋单价、面积、按揭成数、按揭年数以及基准利率,
- 然后计算并显示等额本息还款法需要偿还的房款总额、首期付款、贷款总额、支付利息以及每月需要还款多少各项数据。)?
- 注1:// 后边的内容是注释部分,即写给你看的,程序编译时不会理会;
- 注2:按揭成数用户输入的是 7,其实表示的应该是 70%,即 0.7;
- 注3:用户输入的是还款年数,但程序中计算的是还款月数,所以要进行必要的转换;
- 注4:用户输入的年利率是 5.4,其实表示的是 5.4%,在程序中记得去掉百分号(除以 100),月利率 = 年利率 / 12
- */
- #include <stdio.h>
- #include <math.h>
- void count_fangzi();
- int main(){
- count_fangzi();
- }
- void count_fangzi() {
- printf("\n================房贷计算================\n");
- float price, area, yir, mir; //单价,面积,年利率,月利率
- float interest, Loan; //利息,贷款总额
- float ave_repay, down_payment; //月均还款,首期付款
- float total_price, total_repay; //房款总额,还款总额
- int ratio, time; //按揭成数、按揭年数
- printf("请输入单价(元/平方) : ");
- scanf("%f", &price);
- getchar();
- printf("请输入面积:");
- scanf("%f", &area);
- getchar();
- printf("请输入按揭成数: ");
- scanf("%d", &ratio);
- getchar();
- printf("请输入按揭年数: ");
- scanf("%d", &time);
- getchar();
- printf("请输入当前基准年利率: ");
- scanf("%f", &yir);
- getchar();
- /*
- 月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
- 总利息 = 还款月数 * 月均还款 - 贷款本金
- 贷款本金 = 房款总额 * 按揭成数
- */
- printf("\n================报告结果================\n");
- total_price = price * area;//房款总额 = 单价 * 面积
- printf("房款总额: %.2f元\n", total_price);
- Loan = total_price * (ratio / 10.0);//贷款总额=房款总额*按揭成数((7成=70%)最高7成)
- printf("贷款总额: %.2f元\n", Loan);
- down_payment = total_price - Loan; //首期付款=房款总额-贷款总额
- printf("首期付款: %.2f元\n", down_payment);
- ///////////////////////////////////////////////////////////////////////
- //用户输入的年利率是 5.4,其实表示的是 5.4%,在程序中记得去掉百分号(除以 100),月利率 = 年利率 / 12
- mir = yir / 100.0 / 12.0;//月利率=(基准年利率/100)/12
- //月利率=年利率/100%百分制(5.4=0.054)/12个月
- // 月均还款 = (贷款本金 * (月利率 * (1 + 月利率)^还款月数)) / ((1 + 月利率)^还款月数 - 1)
- ave_repay = (Loan * (mir * pow(1 + mir, time * 12))) / (pow(1 + mir, time * 12 )-1);
- printf("月均还款: %.2f元\n", ave_repay);
- /////////////////////////////////////////////////////////////////////////////
- total_repay = ave_repay * time * 12.0;//还款总额=月均还款*月数
- printf("还款总额: %.2f元\n", total_repay);
- interest = total_repay - Loan;//支付利息=还款总额-贷款总额
- printf("支付利息: %.2f元\n", interest);
- printf("\n================小甲鱼方案================\n");
- printf("请输入单价(元/平方) : ");
- scanf("%f", &price);
- getchar();
- printf("请输入面积:");
- scanf("%f", &area);
- getchar();
- printf("请输入按揭成数: ");
- scanf("%d", &ratio);
- getchar();
- printf("请输入按揭年数: ");
- scanf("%d", &time);
- getchar();
- printf("请输入当前基准年利率: ");
- scanf("%f", &yir);
- getchar();
- mir = yir / 100 / 12; // 年利率需要除以100得到,因为用户输入是5.4(%),而不是0.054
- time = time * 12;
- total_price = price * area;
- Loan = total_price * ratio / 10; // 这里不能写成(ratio / 10),否则结果会变成0
- ave_repay = Loan * mir * pow((1 + mir), time) / (pow((1 + mir), time) - 1);
- interest = ave_repay * time - Loan;
- total_repay = Loan + interest;
- down_payment = total_price * (1 - (float)ratio / 10); // 强制转换ratio为浮点型
- printf("========== 报告结果 ==========\n");
- printf("房款总额:%.2f元\n", total_price);
- printf("首期付款:%.2f元\n", down_payment);
- printf("贷款总额:%.2f元\n", Loan);
- printf("还款总额:%.2f元\n", total_repay);
- printf("支付利息:%.2f元\n", interest);
- printf("月均还款:%.2f元\n", ave_repay);
- }
- /*
- 请输入单价(元/平方) : 6000
- 请输入面积: 120
- 请输入按揭成数: 7
- 请输入按揭年数: 20
- 请输入当前基准年利率:5.4
- ========= 报告结果========
- 房款总额: 720000.00元
- 首期付款: 216000.00元
- 贷款总额: 504000.00元
- 还款总额: 825251.50元
- 支付利息: 321251.53元
- 月均还款: 3438.55元
- */
复制代码 |
|