dk001 发表于 2021-7-26 16:08:46

课后作业 s1e5

#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;
}

结果是


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

#define FANQIE3.7
#define JIELAN7
#define XIQIN   1.3
#define KONGXINCAI      8
#define YANGCONG      2.4
#define YOUCAI9
#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;
}


结果是

请问下各位大佬我的运行出来的结果为什么对不上,错在哪里?

青出于蓝 发表于 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;
}

青出于蓝 发表于 2021-7-26 16:48:30

1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜

dk001 发表于 2021-7-26 17:34:14

青出于蓝 发表于 2021-7-26 16:48
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜

我用单价除以2就是直接换算成以斤计价的形式。
小红那个是我弄错了,换成洋葱的价格之后结果是对的。现在就小明的结果是11.70对不上12.20不知道为什么

dk001 发表于 2021-7-26 17:41:38

青出于蓝 发表于 2021-7-26 16:48
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜

我直接定义F 4.5也能得出正确结果,但是定义 9/2就不对{:10_247:}{:10_247:}

zdw11 发表于 2021-7-29 10:48:03

F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差

dk001 发表于 2021-7-29 15:33:17

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

谢谢

zdw11 发表于 2021-7-29 23:50:03

不客气
页: [1]
查看完整版本: 课后作业 s1e5