|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码
结果是
答案给出的代码是
- #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;
- }
复制代码
结果是
请问下各位大佬我的运行出来的结果为什么对不上,错在哪里?
F应该定义为9.0/2或9/2.0,这样结果为浮点型,否则系统默认为整形,就会出现舍入误差
|
|