EX2.16 温度转换 √
本帖最后由 我爱橙 于 2022-5-4 11:03 编辑编写程序,输入一个华氏温度,要求输出摄氏温度。公式为 C=5*(F-32)/9,结果取2位小数。
输入格式:
"%lf"
输出格式:
"%.2f"
输入样例:
在这里给出一组输入。例如:
50
输出样例:
在这里给出相应的输出。例如:
10.00
TEST1:有问题但能输出正确结果10?
#include<stdio.h>
main()
{
float C,F=50;
scanf ("请输入一个华氏温度:%lf",&F);
C=5*(F-32)/9;
printf("%.2f",C);
return 0;
}
TEST2:自觉没问题但输出结果错误为-17.78
#include<stdio.h>
main()
{
float C,F;
printf("请输入一个华氏温度:");
scanf("%lf",&F);
C=(F-32)*5/9;
printf("%.2f",C);
return 0;
}
#include<stdio.h>
main()
{
float C,F;
printf("请输入一个华氏温度:");
scanf("%f",&F); // float 类型使用 %f
C=(F-32)*5/9;
printf("%.2f",C);
return 0;
} Test1:别拿scanf当成Python里的input,双引号里除了格式化符号,你写的其他东西在输入的时候都要原封不动的抄一遍
Test1 & Test2:给float赋值用%f,给double赋值用%lf,既然题目要求输入格式是%lf,就用double定义C和F 使用%lf是题目要求,但%lf是double型的格式字符,你这里使用float会损失精度,从而输出-17.78,可将类型改为double型
#include <stdio.h>
int main()
{
double C; // 这里得使用double型
double F; // 这里得使用double型
printf("请输入一个华氏温度:");
scanf("%lf",&F);
C=5*(F-32)/9;
printf("%.2f",C);
return 0;
} 学习到了。
页:
[1]