鱼C论坛

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

[已解决]课后作业 s1e5

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

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

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

x
  1. #include <stdio.h>

  2. #define A 3.7/2
  3. #define B 7/2
  4. #define C 1.3/2
  5. #define D 8/2
  6. #define E 2.4/2
  7. #define F 9/2
  8. #define G 6.3/2
  9. #define H 0.5/2
  10. #define XM 2*A+D+F
  11. #define XH 3*C+0.5*D+5*G
  12. #define XJY 10*G+20*H

  13. int main()
  14. {
  15.                 printf("小明需要支付%.2f元\n",XM);
  16.                 printf("小红需要支付%.2f元\n",XH);
  17.                 printf("小甲鱼需要支付%.2f元\n",XJY);
  18.                 return 0;
  19. }
复制代码


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


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

  2. #define FANQIE  3.7
  3. #define JIELAN  7
  4. #define XIQIN   1.3
  5. #define KONGXINCAI      8
  6. #define YANGCONG        2.4
  7. #define YOUCAI  9
  8. #define HUANGGUA        6.3
  9. #define BAILUOBO        0.5

  10. int main()
  11. {
  12.         float price;

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

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

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

  19.         return 0;
  20. }
复制代码


结果是 001958rby6elhhabe9lfbl.png

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

使用道具 举报

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

  2. #define A 3.7
  3. #define B 7
  4. #define C 1.3
  5. #define D 8
  6. #define E 2.4
  7. #define F 9
  8. #define G 6.3
  9. #define H 0.5
  10. #define XM (2*A+D+F)*0.5
  11. #define XH (3*C+0.5*E+5*G)*0.5
  12. #define XJY (10*G+20*H)*0.5

  13. int main()
  14. {
  15.                 printf("小明需要支付%.2f元\n",XM);
  16.                 printf("小红需要支付%.2f元\n",XH);
  17.                 printf("小甲鱼需要支付%.2f元\n",XJY);
  18.                 return 0;
  19. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-26 16:48:30 | 显示全部楼层
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

我用单价除以2就是直接换算成以斤计价的形式。
小红那个是我弄错了,换成洋葱的价格之后结果是对的。现在就小明的结果是11.70对不上12.20不知道为什么
小甲鱼最新课程 -> https://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就不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 23:50:03 | 显示全部楼层
不客气
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-27 05:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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