救命啊!为啥XM的数,算出来的是错呢!其他两个人的都没问题。(虽然咱也不差这5毛...
#include<stdio.h>#define F 3.7
#define J 7
#define X 1.3
#define K 8
#define Y 2.4
#define YC 9
#define H 6.3
#define B 0.5
int main ()
{
floatXM,XH,XJY;
XM=2*F/2+1*K/2+1*YC/2;
XH=3*X/2+0.5*Y/2+5*H/2;
XJY=10*H/2+20*B/2;
printf("小明需要支付%.2f\n小红需要支付%.2f\n小甲鱼需要支付%.2f\n",XM,XH,XJY);
return 0;
} {:10_266:} 本帖最后由 isdkz 于 2022-3-14 17:35 编辑
因为 YC 是整数 5,除以整数 2 得到的也是整数,
所以 5 / 2 得到的是 2,不是 2.5
#include<stdio.h>
#define F 3.7
#define J 7
#define X 1.3
#define K 8
#define Y 2.4
#define YC 9
#define H 6.3
#define B 0.5
int main ()
{
floatXM,XH,XJY;
XM=2*F/2+1*K/2+1*YC/2.0; // 注意这里
XH=3*X/2+0.5*Y/2+5*H/2;
XJY=10*H/2+20*B/2;
printf("小明需要支付%.2f\n小红需要支付%.2f\n小甲鱼需要支付%.2f\n",XM,XH,XJY);
return 0;
} 如果改成先加,最后*0.5,倒是都对,但是这么写,XM就是不对的,是运算顺序有问题么? 本帖最后由 isdkz 于 2022-3-14 17:36 编辑
炫笑555 发表于 2022-3-14 17:32
如果改成先加,最后*0.5,倒是都对,但是这么写,XM就是不对的,是运算顺序有问题么?
不是,是数据类型的问题,整数除以整数得到的是整数 isdkz 发表于 2022-3-14 17:32
因为 YC 是整数 5,除以整数 2 得到的也是整数,
所以 5 / 2 得到的是 2,不是 2.5
是的!!我把YC改成9.0,就对了!哇!感谢大哥!又学到了,哈哈哈,万分感谢。 @isdkz哇,你牛啊,我的帖子你也帮了我很多,怪不得你获得了乐于助人呢 还有啊,就单纯的说这个代码的问题,上课的时候我们讲过,计算机不会给你小数,只给整数,我试过,真的5/2直接给了2,我当时也很纳闷,后来又听了一遍课,明白了 编程追风梦 发表于 2022-3-14 18:47
还有啊,就单纯的说这个代码的问题,上课的时候我们讲过,计算机不会给你小数,只给整数,我试过,真的5/2 ...
整数/整数,会给你整数,这个上个小甲鱼好像是说过的吧,具体那节课我也有点忘了 编程追风梦 发表于 2022-3-14 18:48
整数/整数,会给你整数,这个上个小甲鱼好像是说过的吧,具体那节课我也有点忘了
对不起打字打错了,是上课不是上个 炫笑555 发表于 2022-3-14 17:40
是的!!我把YC改成9.0,就对了!哇!感谢大哥!又学到了,哈哈哈,万分感谢。
不客气,{:5_109:},你也可以用强制类型转换,
你看一下这个:
https://zhidao.baidu.com/question/623651962844677764.html 编程追风梦 发表于 2022-3-14 18:45
@isdkz哇,你牛啊,我的帖子你也帮了我很多,怪不得你获得了乐于助人呢
害,我是个俗人,我就是为了 C 币{:5_91:} 编程追风梦 发表于 2022-3-14 18:48
整数/整数,会给你整数,这个上个小甲鱼好像是说过的吧,具体那节课我也有点忘了
哈哈,可能上课溜号了吧, isdkz 发表于 2022-3-14 19:14
害,我是个俗人,我就是为了 C 币
哈哈哈,我花300块钱买会员,一半是为了课程,一半就是因为你当初的回贴,哈哈,这个论坛行啊这个论坛,有事儿真有人上啊,
页:
[1]