鱼C论坛

 找回密码
 立即注册
查看: 782|回复: 4

[已解决]自己打的时候感觉没问题,但是最后结果还是出错了

[复制链接]
发表于 2022-1-30 23:13:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<math.h>

int main()
{
        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);
        printf("请输入面积:");
        scanf("%f",&area);
        printf("请输入按揭成数:");
        scanf("%d",&ratio);
        printf("请输入按揭年数:");
        scanf("%d",&time);
        printf("请输入当前基准年利率:");
        scanf("%f",&yir);
       
        mir=yir/100/12;
        time=time*12;
        total_price=price*area;
        down_payment=total_price*(1-ratio*0.1);
        loan=total_price-down_payment;
        total_repay=loan+interest;
        interest=time*ave_repay-loan;
        ave_repay=loan*mir*pow(1+mir,time)/pow(1+mir,time-1);
         
       
        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);
       
        return 0;
}
最佳答案
2022-1-31 11:24:21
题目要求用户自行输入:
price // 单价(元/平方)
area  // 面积
ratio  // 按揭成数
time  // 按揭年数
yir     // 当前基准年利率

输出:
total_price        // 房款总额
down_payment // 首期付款
loan                 // 贷款总额
total_repay       // 还款总额
interest            // 利息
ave_repay        // 月均还款

样例输入:
price = 6000 // 单价(元/平方)
area  = 120 // 面积
ratio  = 7 // 按揭成数
time  = 20 // 按揭年数
yir     = 5.4 // 当前基准年利率


计算步骤:

房款总额 = 单价 * 面积
total_price = price * area
total_price = 6000 * 120
total_price = 720000

贷款本金 = 房款总额 * 按揭成数
loan = total_price * (float)(ratio / 10.) <---- 这里的按揭成数是整数
loan = 720000 * 0.7
loan = 504000

首期付款 = 房款总额 - 贷款本金(贷款总额)
down_payment = total_price - loan
down_payment = 720000 - 504000
down_payment = 216000

月利率 = 年利率 / 12 <---- 这里的年利率是百分比 %
mir = yir / 12
mir = 0.45 / 100
mir = 0.0045

还款月数 = 还款年数(按揭年数) * 12
还款月数 = 20 * 12 = 240

月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
ave_repay = loan * (mir * pow((1 + mir), 240)) / (pow((1 + mir), 240) - 1)
ave_repay = 504000 * (0.0045 * pow((1 + 0.0045), 240)) / (pow((1 + 0.0045), 240) - 1)
ave_repay = 504000 * (0.0045 * 2.937554) / 1.937554
ave_repay = 3438.54802086

总利息 = 还款月数 * 月均还款 - 贷款本金
interest = 240 * 3438.54802086 - 504000
interest = 321251.525006

还款总额 = 贷款本金 + 总利息
total_repay = loan + interest
total_repay = 504000 + 321251.525006
total_repay = 825251.525006
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-31 07:28:28 | 显示全部楼层
down_payment=total_price*(1-ratio*0.01);//或者down_payment=total_price*(1-ratio/100);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-31 07:31:14 | 显示全部楼层
 
interest=time*ave_repay-loan;//首先你得先把利息计算出来,才能计算还款总额
total_repay=loan+interest;
       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-31 11:24:21 | 显示全部楼层    本楼为最佳答案   
题目要求用户自行输入:
price // 单价(元/平方)
area  // 面积
ratio  // 按揭成数
time  // 按揭年数
yir     // 当前基准年利率

输出:
total_price        // 房款总额
down_payment // 首期付款
loan                 // 贷款总额
total_repay       // 还款总额
interest            // 利息
ave_repay        // 月均还款

样例输入:
price = 6000 // 单价(元/平方)
area  = 120 // 面积
ratio  = 7 // 按揭成数
time  = 20 // 按揭年数
yir     = 5.4 // 当前基准年利率


计算步骤:

房款总额 = 单价 * 面积
total_price = price * area
total_price = 6000 * 120
total_price = 720000

贷款本金 = 房款总额 * 按揭成数
loan = total_price * (float)(ratio / 10.) <---- 这里的按揭成数是整数
loan = 720000 * 0.7
loan = 504000

首期付款 = 房款总额 - 贷款本金(贷款总额)
down_payment = total_price - loan
down_payment = 720000 - 504000
down_payment = 216000

月利率 = 年利率 / 12 <---- 这里的年利率是百分比 %
mir = yir / 12
mir = 0.45 / 100
mir = 0.0045

还款月数 = 还款年数(按揭年数) * 12
还款月数 = 20 * 12 = 240

月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
ave_repay = loan * (mir * pow((1 + mir), 240)) / (pow((1 + mir), 240) - 1)
ave_repay = 504000 * (0.0045 * pow((1 + 0.0045), 240)) / (pow((1 + 0.0045), 240) - 1)
ave_repay = 504000 * (0.0045 * 2.937554) / 1.937554
ave_repay = 3438.54802086

总利息 = 还款月数 * 月均还款 - 贷款本金
interest = 240 * 3438.54802086 - 504000
interest = 321251.525006

还款总额 = 贷款本金 + 总利息
total_repay = loan + interest
total_repay = 504000 + 321251.525006
total_repay = 825251.525006
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 00:28:04 | 显示全部楼层
傻眼貓咪 发表于 2022-1-31 11:24
题目要求用户自行输入:
price // 单价(元/平方)
area  // 面积

我的问题都不大,但是没仔细真的看不出来1.计算顺序颠倒2.指数计算符号的括号缺心眼和外面的符号混淆了
谢谢傻眼猫咪,希望能从你身上学到更多知识
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 14:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表