辞浅而情深 发表于 2020-9-19 17:06:01

C语言换算华氏温度和摄氏温度

#include<stdio.h>
int main()
{
        float h , c , a ;
        int b;
        printf("请输入华氏温度:");
        scanf("%.2f", &h);
        a = 5.0/9;
        b = h - 32;
        c = a * b;
        printf("摄氏温度 = %.2f",c);
}
运算结果和实际结果不太一样,这是为什么啊?

小甲鱼的铁粉 发表于 2020-9-19 17:13:03

#include<stdio.h>
int main()
{
      float h , c , a ;
      int b;
      printf("请输入华氏温度:");
      scanf("%f", &h);
      a = 5.0/9;
      b = h - 32;
      c = a * b;
      printf("摄氏温度 = %.2f",c);
}

小甲鱼的铁粉 发表于 2020-9-19 17:14:46

%.2这里错了,你的目的是只接受输入数据的小数点的后两位?

永恒的蓝色梦想 发表于 2020-9-19 17:21:27

#include<stdio.h>


int main() {
    double val;
    printf("请输入华氏温度:");
    scanf("%lf", &val);
    printf("%摄氏温度 = lf", (val - 32) * 5 / 9.0);
    return 0;
}

辞浅而情深 发表于 2020-9-19 17:28:37

小甲鱼的铁粉 发表于 2020-9-19 17:14
%.2这里错了,你的目的是只接受输入数据的小数点的后两位?

对对对

辞浅而情深 发表于 2020-9-19 17:30:02

小甲鱼的铁粉 发表于 2020-9-19 17:14
%.2这里错了,你的目的是只接受输入数据的小数点的后两位?

为什么错了呀

小甲鱼的铁粉 发表于 2020-9-19 17:34:06

辞浅而情深 发表于 2020-9-19 17:30
为什么错了呀

我也不清楚。。。。

辞浅而情深 发表于 2020-9-19 17:36:26

emmm,好吧

巴巴鲁 发表于 2020-9-19 17:42:27

辞浅而情深 发表于 2020-9-19 17:36
emmm,好吧

scanf函数是个谜,最好只有格式化字符,后面不要加东西
楼上讲的很清楚了,我捞一个鱼币{:10_256:}

辞浅而情深 发表于 2020-9-19 17:44:07

巴巴鲁 发表于 2020-9-19 17:42
scanf函数是个谜,最好只有格式化字符,后面不要加东西
楼上讲的很清楚了,我捞一个鱼币

啥意思

巴巴鲁 发表于 2020-9-19 17:50:27

辞浅而情深 发表于 2020-9-19 17:44
啥意思

就是scanf("%d",a);只有%d,不要写成%.2d或%d\n或\n%d等等的形式,只要有%d
当然,如果你想输入日期("%d-%d-%d",&year, &month, &day)
更生动表达a+b什么的,scanf("%d+%d",&a,&b),此时输入a+b才行,上同
学到后面你就知道了

辞浅而情深 发表于 2020-9-19 18:01:34

谢谢大家了,我明白了,原来scanf没有.2的操作,那是printf的

风过无痕1989 发表于 2020-9-19 18:25:08

我好像错过了一个亿

昨非 发表于 2020-9-19 19:44:34

拿币,打扰

乐乐学编程 发表于 2020-9-20 10:49:37

拿币,打扰

sinsoledad 发表于 2020-9-20 21:24:44

加油

wzdr 发表于 2020-9-20 21:41:34

{:10_256:}{:10_256:}{:10_256:}

wzdr 发表于 2020-9-21 06:25:38

{:10_256:}{:10_256:}

不完美小孩 发表于 2020-10-6 15:39:58

1

JianHaoDaDa 发表于 2020-10-6 20:43:25

膜拜学习 顺走育碧{:5_109:}
页: [1]
查看完整版本: C语言换算华氏温度和摄氏温度