鱼C论坛

 找回密码
 立即注册
查看: 1213|回复: 7

[已解决]课后作业 s1e5

[复制链接]
发表于 2021-7-26 16:08:46 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

#define A 3.7/2
#define B 7/2
#define C 1.3/2
#define D 8/2
#define E 2.4/2
#define F 9/2
#define G 6.3/2
#define H 0.5/2
#define XM 2*A+D+F
#define XH 3*C+0.5*D+5*G
#define XJY 10*G+20*H
 
int main()
{
                printf("小明需要支付%.2f元\n",XM);
                printf("小红需要支付%.2f元\n",XH);
                printf("小甲鱼需要支付%.2f元\n",XJY);
                return 0;
 } 

结果是 屏幕截图 2021-07-26 160216.png


答案给出的代码是
#include <stdio.h>

#define FANQIE  3.7
#define JIELAN  7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG        2.4
#define YOUCAI  9
#define HUANGGUA        6.3
#define BAILUOBO        0.5

int main()
{
        float price;

        price = (2 * FANQIE + KONGXINCAI + YOUCAI) * 0.5; // 1斤 == 0.5公斤
        printf("小明需要支付%.2f元\n", price);

        price = (3 * XIQIN + 0.5 * YANGCONG + 5 * HUANGGUA) * 0.5;
        printf("小红需要支付%.2f元\n", price);

        price = (10 * HUANGGUA + 20 * BAILUOBO) * 0.5;
        printf("小甲鱼需要支付%.2f元\n", price);

        return 0;
}

结果是 001958rby6elhhabe9lfbl.png

请问下各位大佬我的运行出来的结果为什么对不上,错在哪里?
最佳答案
2021-7-29 10:48:03
F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-26 16:47:30 | 显示全部楼层
#include <stdio.h>

#define A 3.7
#define B 7
#define C 1.3
#define D 8
#define E 2.4
#define F 9
#define G 6.3
#define H 0.5
#define XM (2*A+D+F)*0.5
#define XH (3*C+0.5*E+5*G)*0.5
#define XJY (10*G+20*H)*0.5
 
int main()
{
                printf("小明需要支付%.2f元\n",XM);
                printf("小红需要支付%.2f元\n",XH);
                printf("小甲鱼需要支付%.2f元\n",XJY);
                return 0;
 } 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-26 16:48:30 | 显示全部楼层
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-26 17:34:14 | 显示全部楼层
青出于蓝 发表于 2021-7-26 16:48
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜

我用单价除以2就是直接换算成以斤计价的形式。
小红那个是我弄错了,换成洋葱的价格之后结果是对的。现在就小明的结果是11.70对不上12.20不知道为什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-26 17:41:38 From FishC Mobile | 显示全部楼层
青出于蓝 发表于 2021-7-26 16:48
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜

我直接定义F 4.5也能得出正确结果,但是定义 9/2就不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 10:48:03 | 显示全部楼层    本楼为最佳答案   
F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-29 15:33:17 | 显示全部楼层
zdw11 发表于 2021-7-29 10:48
F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差

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

使用道具 举报

发表于 2021-7-29 23:50:03 | 显示全部楼层
不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 20:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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