|
发表于 2024-3-27 17:05:56
|
显示全部楼层
是的,代码中定义的菜价都除以了2。这是因为在C语言中,除法运算符/默认执行整数除法。所以当除以2时,结果会被截断为整数。例如,7/2的结果是3,而不是3.5。
解决这个问题的方法是将除法运算符/替换为浮点除法运算符/。修改代码如下:
- #include <stdio.h>
- #define FANQIE 3.7/2.0
- #define JIELAN 7/2.0
- #define XIQIN 1.3/2.0
- #define KONGXINCAI 8/2.0
- #define YANGCONG 2.4/2.0
- #define YOUCAI 9/2.0
- #define HUANGGUA 6.3/2.0
- #define BAILUOBO 0.5/2.0
- int main()
- {
- double a,b,c;
-
- a = 2*FANQIE + KONGXINCAI + YOUCAI;
- printf("小明需要支付%.2f元\n", a);
-
- b = 3*XIQIN + 0.5*YANGCONG + 5*HUANGGUA;
- printf("小红需要支付%.2f元\n", b);
-
- c = 10*HUANGGUA + 20*BAILUOBO;
- printf("小甲鱼需要支付%.2f元\n", c);
-
- return 0;
- }
复制代码
现在重新运行程序,小明支付的金额应该是正确的了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|