追光THO 发表于 2023-3-27 18:26:58

你好,请问这题我哪里写错了?

https://www.dotcpp.com/oj/problem1005.html#include<stdio.h>
int main()
{
      float F,c = 0;
      
      scanf("%f",&F);
      
      c = 5*(F - 32)/9;
      
      printf("%.2f",c);
      return 0;
}
以上代码我在devc++上运行没有问题,交上去就出错,请问为什么?


请问下面两句话没有问题吧?

注意scanf("%lf",&f);或者scanf("%f",&f);如果你前面定义的f是用double类型的话,就应该用%lf格式,如果f是float类型的话,就应该用%f,不然会有意想不到的结果。

注意printf("%lf",c);或者printf("%f",c);这里面的格式%lf或者%f与c的类型相同,c为double类型的,就用%lf,c为float类型就用%f。

歌者文明清理员 发表于 2023-3-27 18:28:47

本帖最后由 歌者文明清理员 于 2023-3-27 18:30 编辑

按照你的网站我试过了,没有报错啊

这个程序接受一个华氏温度作为输入,并使用公式 C = 5/9 * (F - 32) 将其转换为摄氏温度。
首先,声明一个名为F的浮点型变量。
使用 scanf 函数提示用户输入一个华氏温度。
然后将转换公式应用于输入的温度,并将结果存储在变量c中。
最后,使用 printf 函数打印结果,并使用 %!f(MISSING) 精度说明符将结果显示为两位小数。
程序然后返回 0 表示执行成功。

jhq999 发表于 2023-3-27 18:56:45

printf("c=%.2f",c);

追光THO 发表于 2023-3-27 19:52:31

jhq999 发表于 2023-3-27 18:56


审题不仔细呀我

jhq999 发表于 2023-3-27 22:09:39

追光THO 发表于 2023-3-27 19:52
审题不仔细呀我

谁都犯过这毛病,你这还是简单的,当你写了几百行的就是不给你通过,下载样例运行结果正确,就是没注意输出,那心{:5_104:}
页: [1]
查看完整版本: 你好,请问这题我哪里写错了?