解题思路:





注意事项:





参考代码:

#include<stdio.h>
int main ()
{
    float c=0,F=0;
    scanf("%f",&F);
    c=5*(F-32)/9;
    printf("c=%.2f",c);
    return 0;
    }



点赞(16)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 7 条评论

未知人面 5年前 回复TA
#include<stdio.h>
int main()
{
    double c,f;
    scanf("%If",&f);
    c=5*(f-32)/9;
    printf("c=%0.2If",c);
    return 0;
}
这个为什么是错的
celeste 6年前 回复TA
@超新菜鸟 解决办法:1)将"%lf“改为"%f”;2)将float改为double  C++果然是非常微妙的语言,%f和%lf对于printf()和scanf()的效果是不同的。  事实上,对于printf(),无论是%f还是%lf,效果都是一样的。  因为,遇到float,printf()会将float类型自动提升到double,所以不会有什么问题。  而且严格地讲,printf()并没有对于%lf的定义,虽然很多编译器会接受,所以最好使用%f。  而对于scanf(),由于接受的是指针,并没有类型提升的说法,所以对于double就应该用%lf,float就是%f。
超新菜鸟 6年前 回复TA
#include <stdio.h>

int main()
{	
	float temp = 0;
	scanf("%f", &temp);
	printf("C=%0.2lf\n",5*(temp-32)/9);
	return 0;
}

请问为什么说我的答案是错的?
celeste 6年前 回复TA
#include<stdio.h>
int main ()
{
    float c=0,F=0;
    scanf("%f",&F);
    c=5*(F-32)/9;
    printf("c=%.2f",c);
    return 0;
    }
celeste 6年前 回复TA
.
小蚂蚁 6年前 回复TA
float那边是不是应该是赋值号
lalalala 6年前 回复TA
写的很简洁