解题思路以及注意事项:

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

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

  3. 注意分号和引号千万不要错,还有中英文的书写问题。

实例代码:

#include"stdio.h"
int main()
{
    double f,c;
    scanf("%lf",&f);
    c=5*(f-32)/9;
    printf("c=%0.2lf", c);
    return 0;
}

还有什么不懂的请在下面评论区留言

点赞(71)
 

0.0分

248 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 478 条评论

哆啦叮当 4年前 回复TA
@小ing 那个应该是宽度吧
一二三 4年前 回复TA
@一二三 妙
乐色小强强 4年前 回复TA
@沖田縂司 这里我们需要的是将温度转换后的值赋给c,然后输出c。如果是==,即等于号,那c就没有得到任何值,是0或者其他非0的数,编译系统对没有赋初值的变量有不同的处理。
沖田縂司 4年前 回复TA
为什么不是“c==5*(f-32)/9”,“==”表示等于的意思吗,“=”表示赋值的意思,我用“==”结果运行是0.00,有好心人帮忙吗,谢谢了
C语言菜狗子01 4年前 回复TA
@Naive 我也是兄弟
何瑶 4年前 回复TA
什么时候需要printf("c=~",c);这个里面的c=,有的时候好像不需要这个等于
何瑶 4年前 回复TA
@Cam 那什么时候需要这个c=,什么时候不需要
小ing 4年前 回复TA
请问那个 0.2lf      那个0不是整数为0位吗? 为什么还能打出 -40.00?
20级物联网二班高笑 4年前 回复TA
@一二三 还有第一个中括号写错了
Naive 4年前 回复TA
float t,c;
	scanf("%f",&t);
	c=5*(t-32)/9;
	printf("%.2f",c);

这里是哪里错误了呢?结果我本地试了一下是正确的