课后作业 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;
}
结果是
请问下各位大佬我的运行出来的结果为什么对不上,错在哪里? #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;
} 1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜 青出于蓝 发表于 2021-7-26 16:48
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜
我用单价除以2就是直接换算成以斤计价的形式。
小红那个是我弄错了,换成洋葱的价格之后结果是对的。现在就小明的结果是11.70对不上12.20不知道为什么 青出于蓝 发表于 2021-7-26 16:48
1,不是物品单价除以2,而是总价要除以2(考虑公斤)
2,小红要买洋葱而不是空心菜
我直接定义F 4.5也能得出正确结果,但是定义 9/2就不对{:10_247:}{:10_247:} F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差 zdw11 发表于 2021-7-29 10:48
F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差
谢谢 不客气
页:
[1]