鱼C论坛

 找回密码
 立即注册
查看: 1238|回复: 8

[已解决]算术运算符课后作业买房问题

[复制链接]
发表于 2020-10-9 18:27:09 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Cehic 于 2020-10-9 18:29 编辑

萌新求助
我发现一个问题----我将课后答案复制粘贴之后运行后得到的答案和标准答案总差一点儿(实在想不出为什么)附图

最佳答案
2020-10-9 19:50:18

你发的图片我看不见。
把 float 改成 double 后,还需要把 %f 改成 %lf。
不过,浮点数有误差是正常的,放心用吧。
QQ图片20201009182240.png

运行结果

运行结果

标准答案

标准答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-9 19:10:33 | 显示全部楼层
把 float 改成 double
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-9 19:21:59 | 显示全部楼层
第17行错误:scanf("%d",&ratio);

应为:scanf("%f",&ratio);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-9 19:48:02 | 显示全部楼层


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-9 19:48:37 | 显示全部楼层

不行呀,乱码了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-9 19:49:54 | 显示全部楼层
风过无痕1989 发表于 2020-10-9 19:21
第17行错误:scanf("%d",&ratio);

应为:scanf("%f",&ratio);

好像不行,乱码了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-9 19:50:18 | 显示全部楼层    本楼为最佳答案   

你发的图片我看不见。
把 float 改成 double 后,还需要把 %f 改成 %lf。
不过,浮点数有误差是正常的,放心用吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-9 20:34:56 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-10-9 19:50
你发的图片我看不见。
把 float 改成 double 后,还需要把 %f 改成 %lf。
不过,浮点数有误差是正常的 ...

整数加减能整出.01就很难受(保留了两位小数)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-9 21:17:17 | 显示全部楼层
#include <stdio.h>
#include <math.h>
int main()
{
    double price,area,yir,mir;                                                  // 盖价、面积、年利率、且利率
    double interest,ratio,loan;                                                // 利息、贷款总额
    double ave_repay,down_payment;                                 // 月均还款、首期付款
    double total_price,total_repay;                                        // 房款总额、还款总额 
    int time;                                                                          // 按揭成数、按揭年数

    printf("请输入单价(元/平方): ");
    scanf("%lf",&price);
    printf("请输入面积: ");
    scanf("%lf",&area);
    printf("请输入按揭成数: ");
    scanf("%lf",&ratio);
    printf("请输入按揭年数: ");
    scanf("%d",&time);
    printf("请输入当年基准年利率: ");
    scanf("%lf",&yir);
        
    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("房款总额: %.2lf元\n",total_price);
    printf("首期付款: %.2lf元\n",down_payment);
    printf("贷款总额: %.2lf元\n",loan);
    printf("还款总额: %.2lf元\n",total_repay);
    printf("支付利息: %.2lf元\n",interest);
    printf("月均还款: %.2lf元\n",ave_repay);
    return 0;
}

房贷.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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