解题思路以及注意事项:
注意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分
390 人评分
#include <iostream> int main() { float F; float C; printf("请输入华氏温度F="); scanf_s ("%f", &F); C = 5*(F - 32) / 9; printf("摄氏温度C= %.2f", C); return 0; } 用的VS正常跑,但是解决这个问题却不行
为什么我的是错的,求解 #include<stdio.h> int main() { int F,c; scanf("%f",&F); c=5(F-32)/9; printf("%.2f",c); }
#include <stdio.h> int main() { float c, F; scanf("%f", &F); c = 5*(F - 32) / 9; printf("c=%0.2F", c); return 0; }
C语言里面有个规定:对float类型的数据进行运算时,自动转换成double类型的数据进行运算,所以,你懂了嘛? printf("%.2lf",c);这是lf,也就是要输出double类型数据。
Tu-TuJiang 2022-11-12 17:36:18 |
当然你在运算时就规定按什么类型进行计算就不用lf,f也可以
#include<stdio.h> int main() { float f,c; scanf("%f",&f); c=5*(f-32)/9; printf("%.2lf",c); return 0; }为什么这样是错的呢?
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; } 这样就没问题了
杨 2022-09-16 18:22:11 |
我复制你的 还是错的。。。
Punk 2022-09-20 19:07:54 |
人家没错你再试试
Tu-TuJiang 2022-11-12 17:35:17 |
不是反了,书上有一句话,float类型的数据进行运算时,自动转换成double类型的数据进行运算
把我顶上去!!! 为什么你们不对,最开始我也和你们一样显示错误,所以我倒回去看题目要求(重点是样例输出),发现答案是要“c=-40.00”,注意要在输出里添加“ c= ”
#include<stdio.h> int main() { float F,c; scanf("%0.2f",&F); c=5 * ( F - 32 ) / 9; printf("c=%0.2f",c); return 0; } 为什么我算出来答案不对
遗弃的摄像机 2022-05-18 22:56:59 |
我的也是!!!!麻了
Xoy 2022-06-18 14:29:24 |
是lf不是f
uq_72551321500 2022-07-01 17:16:51 |
scanf语句格式声明不要加0.2
麦可馨 2023-02-28 14:17:37 |
题目要求输出c=-40.00,你写太多了