解题思路以及注意事项:

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

3年前 回复TA
@小白cc double用lf,不是ld
阳春 3年前 回复TA
@Naive @duola 为什么要将float改成double
小白cc 3年前 回复TA
#include<stdio.h>
int main()
{   double c;
    double f;
    scanf("%ld",&f);
    c = 5*(f-32)/9;
    printf("%.2ld\n",c);
    return 0;
}  
有没有大神知道 为什么结果为71万啊‘’
公羊 3年前 回复TA
@小ing 0是限制宽度的,但是当宽度超过就会自动解除限制,当没有超出限制是会在左边补上空格,格式就是那样
Hainui 3年前 回复TA
@Duane 你算的是c最后却printfF
橙皮,小六 3年前 回复TA
要求保留两位小数怎么弄
徐笑笑 3年前 回复TA
@Naive 还要在%0.2lf前面加上c=,题目要求输出结果要带上c=
徐笑笑 3年前 回复TA
@何瑶 printf("c=%d",c)的结果是c=~,如果去掉c=的话结果就直接是~,没有c=
小白1 4年前 回复TA
看好样例输出,是c=-40.00,不是直接-40.00
哆啦叮当 4年前 回复TA
@Naive 兄弟,你把float改成double就对了