kaokaokao 发表于 2022-10-10 22:57:45

新手关于小甲鱼课后作业的问题

#include <stdio.h>

int main()
{
      float fah, cel;

      printf("请输入华氏度:");
      scanf("%f", &fah);

      cel = (fah - 32) * 5 / 9;
      printf("转换为摄氏度是:%.2f\n", cel);

      return 0;
}


为什么用float 而不是double

jackz007 发表于 2022-10-10 23:04:10

本帖最后由 jackz007 于 2022-10-10 23:15 编辑

      首先,float 与 double 之间主要存在以下 3 点区别:
1、float 与 double 的有效数字位数不同,float 是 8 位,double 是 16 位。

2、数值范围不同:
   float :-3.40E+38~ 3.40E+38
   double:-1.79E+308 ~ 1.79E+308

3、float 与 double 占用内存的字节数不同,一个 float 占用 4 个字节,double 占用 8 个字节

       就本例而言,你自己拥有充分的自由裁量权,因为,用 float 和用 double 基本没有差别,但是,总得要用一个吧,你说呢?

kaokaokao 发表于 2022-10-10 23:15:32

#include <stdio.h>

int main()
{
        double i;
        double result;
       
        printf("qing shu ru hua shi she shi du : ");
        scanf("%f",&i);
       
        result = (i-32)*5/9;
       
        printf("hua shi she shi du %.2f dui yin de she shi du shi %.2f\n",i,result);
       
        return 0;
}
这我写的,当我用double的时候https://imgse.com/i/xt2k0P就不行,用float就行,为啥

jackz007 发表于 2022-10-10 23:17:50

本帖最后由 jackz007 于 2022-10-10 23:20 编辑

      scanf("%lf",&i); //double 使用的格式描述符 "%lf" 与原来 float 使用的 "%f"有所不同(其中的 'l' 是小写的字母 'L')

kaokaokao 发表于 2022-10-10 23:18:58

jackz007 发表于 2022-10-10 23:17


哇,谢谢大佬,感谢感谢
页: [1]
查看完整版本: 新手关于小甲鱼课后作业的问题