hhjdsd 发表于 2021-1-19 15:58:04

C计算问题

图片中假设 f = 45,则 (f-32)*5 = 65
问题在于,65/9会直接算成7.0000……,这咋办?
如何是65/9为7.22……{:10_261:}

昨非 发表于 2021-1-19 16:04:16

c是int吗

hhjdsd 发表于 2021-1-19 16:06:25

昨非 发表于 2021-1-19 16:04
c是int吗


hhjdsd 发表于 2021-1-19 16:06:56

hhjdsd 发表于 2021-1-19 16:06


阿不对

xieglt 发表于 2021-1-19 16:07:04

把 c 定义成浮点类型
如果c 是浮点类型。
就把式子写成

c = (f-32) * 5.0f/9;

hhjdsd 发表于 2021-1-19 16:07:27

是float{:10_245:}{:10_250:}

hhjdsd 发表于 2021-1-19 16:08:14

全部代码

昨非 发表于 2021-1-19 16:11:21

hhjdsd 发表于 2021-1-19 16:06


那出来的结果不是整型才怪了
你要把参与运算的数改成float或double

hhjdsd 发表于 2021-1-19 16:11:37

hhjdsd 发表于 2021-1-19 16:08
全部代码

运行结果{:10_266:}

jackz007 发表于 2021-1-19 16:13:16

hhjdsd 发表于 2021-1-19 16:11
运行结果

#include <stdio.h>

int main(void)
{
      float c , f                                  ;
      printf("输入摄氏度 : ")                      ;
      scanf("%f" , & c)                            ;
      f = 9.0 * c / 5.0 + 32                     ;
      printf("摄氏 %.1f = 华氏 %.1f 度\n" , c , f) ;
      c = (f - 32) * 5.0 / 9.0                     ;
      printf("华氏 %.1f = 摄氏 %.1f 度\n" , f , c) ;
}

hhjdsd 发表于 2021-1-19 16:17:38

jackz007 发表于 2021-1-19 16:13


好了,感谢感谢{:10_254:}

风过无痕1989 发表于 2021-1-19 16:26:18

hhjdsd 发表于 2021-1-19 16:11
运行结果

#include <stdio.h>
int main()

{
        int f;
        float c;
        printf("请输入华氏温度\n");
    scanf("%d", &f);
        c = (f - 32) * 5.0 / 9.0;
        printf("转换为摄氏温度是:%.2f\n", c);
        return 0;
}

钟怡清 发表于 2021-2-1 01:00:43

冒泡
页: [1]
查看完整版本: C计算问题