解题思路以及注意事项:

  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 条评论

uq_49587880809 2年前 回复TA
@鲍国辉 这个是不是只能用double啊,float都错了
江雪沉月 2年前 回复TA
@DEAN学C好男 真的绝了,试了好长时间结果都没问题,就是提交不对,看评论果然少了c=。。。。
马涛 2年前 回复TA
@DEAN学C好男 谢谢大哥
尽力学C的小白 2年前 回复TA
@小于 我的int就是错的
乌云车站 2年前 回复TA
@你说 @dotcpp0592217 输出是双精度浮点数
Punk 2年前 回复TA
@乌拉 人家没错你再试试
Punk 2年前 回复TA
@uq_54566543331 你看楼下
2年前 回复TA
@乌拉 我复制你的 还是错的。。。
uq_54566543331 2年前 回复TA
#include<stdio.h>
int main()
{
    float f,c;
    scanf("%f",&f);
    c=5*(f-32)/9;
    printf("%.2lf",c);
    return 0;
}为什么这样是错的呢?
乌拉 2年前 回复TA
scanf里面确实是%f表示float,%lf表示double,但是printf里面貌似反了过来
int main()
{
	float c, F;
	scanf("%f", &F);
	c = 5 * (F - 32) / 9;
	printf("c=%0.2lf", c);
	return 0;
}
这样就没问题了