炫笑555 发表于 2022-3-14 17:28:27

救命啊!为啥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;
       
}

炫笑555 发表于 2022-3-14 17:30:15

{:10_266:}

isdkz 发表于 2022-3-14 17:32:41

本帖最后由 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;
      
}

炫笑555 发表于 2022-3-14 17:32:54

如果改成先加,最后*0.5,倒是都对,但是这么写,XM就是不对的,是运算顺序有问题么?

isdkz 发表于 2022-3-14 17:34:48

本帖最后由 isdkz 于 2022-3-14 17:36 编辑

炫笑555 发表于 2022-3-14 17:32
如果改成先加,最后*0.5,倒是都对,但是这么写,XM就是不对的,是运算顺序有问题么?

不是,是数据类型的问题,整数除以整数得到的是整数

炫笑555 发表于 2022-3-14 17:40:38

isdkz 发表于 2022-3-14 17:32
因为 YC 是整数 5,除以整数 2 得到的也是整数,

所以 5 / 2 得到的是 2,不是 2.5

是的!!我把YC改成9.0,就对了!哇!感谢大哥!又学到了,哈哈哈,万分感谢。

编程追风梦 发表于 2022-3-14 18:45:43

@isdkz哇,你牛啊,我的帖子你也帮了我很多,怪不得你获得了乐于助人呢

编程追风梦 发表于 2022-3-14 18:47:36

还有啊,就单纯的说这个代码的问题,上课的时候我们讲过,计算机不会给你小数,只给整数,我试过,真的5/2直接给了2,我当时也很纳闷,后来又听了一遍课,明白了

编程追风梦 发表于 2022-3-14 18:48:30

编程追风梦 发表于 2022-3-14 18:47
还有啊,就单纯的说这个代码的问题,上课的时候我们讲过,计算机不会给你小数,只给整数,我试过,真的5/2 ...

整数/整数,会给你整数,这个上个小甲鱼好像是说过的吧,具体那节课我也有点忘了

编程追风梦 发表于 2022-3-14 18:58:31

编程追风梦 发表于 2022-3-14 18:48
整数/整数,会给你整数,这个上个小甲鱼好像是说过的吧,具体那节课我也有点忘了

对不起打字打错了,是上课不是上个

isdkz 发表于 2022-3-14 19:12:58

炫笑555 发表于 2022-3-14 17:40
是的!!我把YC改成9.0,就对了!哇!感谢大哥!又学到了,哈哈哈,万分感谢。

不客气,{:5_109:},你也可以用强制类型转换,

你看一下这个:
https://zhidao.baidu.com/question/623651962844677764.html

isdkz 发表于 2022-3-14 19:14:44

编程追风梦 发表于 2022-3-14 18:45
@isdkz哇,你牛啊,我的帖子你也帮了我很多,怪不得你获得了乐于助人呢

害,我是个俗人,我就是为了 C 币{:5_91:}

炫笑555 发表于 2022-3-15 10:32:03

编程追风梦 发表于 2022-3-14 18:48
整数/整数,会给你整数,这个上个小甲鱼好像是说过的吧,具体那节课我也有点忘了

哈哈,可能上课溜号了吧,

炫笑555 发表于 2022-3-15 10:33:51

isdkz 发表于 2022-3-14 19:14
害,我是个俗人,我就是为了 C 币

哈哈哈,我花300块钱买会员,一半是为了课程,一半就是因为你当初的回贴,哈哈,这个论坛行啊这个论坛,有事儿真有人上啊,
页: [1]
查看完整版本: 救命啊!为啥XM的数,算出来的是错呢!其他两个人的都没问题。(虽然咱也不差这5毛...