|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
传送门:https://fishc.com.cn/forum.php?m ... peid%26typeid%3D570
下面是我写的
#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);
total_price = price * area; //房款总额
ratio *= 0.1; //按揭成数用户输入的是 7,其实表示的应该是 70%,即 0.7;
time *= 12; //还款月数=还款年数 * 12
loan = total_price * ratio; //贷款本金 = 房款总额 * 按揭成数
mir = yir / 100 / 12; //计算月利率
ave_repay = loan * (mir * pow((1 + mir), time)) / (pow((1 + mir), time) - 1); //月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
interest = time * ave_repay - loan; //总利息 = 还款月数 * 月均还款 - 贷款本金
down_payment = loan + interest - ave_repay * time + ave_repay; //首期付款
total_repay = loan + interest;
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); //月均还款,已计算
}
运算结果如下:
我知道肯定有问题,高中这个东西我就没学明白,肯定算法有问题,但是我不想看小甲鱼老师的答案,想了一个晚上都没有想明白哪里有问题,算式应该是对的把
请教大神
本帖最后由 jhq999 于 2022-12-10 12:34 编辑
int ratio是整数类型没有小数,所以要懂得变通,7成是%70,直接变成70,后面用到就除以100,没用到改什么?
|
|