解题思路以及注意事项:
注意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。
注意分号和引号千万不要错,还有中英文的书写问题。
实例代码:
#include"stdio.h" int main() { double f,c; scanf("%lf",&f); c=5*(f-32)/9; printf("c=%0.2lf", c); return 0; }
还有什么不懂的请在下面评论区留言
0.0分
131 人评分
#include<stdio.h> int main() { double c; double f; scanf("%ld",&f); c = 5*(f-32)/9; printf("%.2ld\n",c); return 0; } 有没有大神知道 为什么结果为71万啊‘’
为什么不是“c==5*(f-32)/9”,“==”表示等于的意思吗,“=”表示赋值的意思,我用“==”结果运行是0.00,有好心人帮忙吗,谢谢了
乐色小强强 2020-12-16 21:14:43 |
这里我们需要的是将温度转换后的值赋给c,然后输出c。如果是==,即等于号,那c就没有得到任何值,是0或者其他非0的数,编译系统对没有赋初值的变量有不同的处理。
什么时候需要printf("c=~",c);这个里面的c=,有的时候好像不需要这个等于
徐笑笑 2021-02-02 18:36:42 |
printf("c=%d",c)的结果是c=~,如果去掉c=的话结果就直接是~,没有c=
请问那个 0.2lf 那个0不是整数为0位吗? 为什么还能打出 -40.00?
float t,c; scanf("%f",&t); c=5*(t-32)/9; printf("%.2f",c); 这里是哪里错误了呢?结果我本地试了一下是正确的
#include<stdio.h> int main(){ double f,c; scanf("%lf",&f); c=5*(f-32)/9; printf("%0.2lf",c); return 0; } 这段代码哪里有问题吗?显示答案错误