顺序结构
华氏温度转摄氏温度
【问题描述】
输入一个华氏温度,要求输出摄氏温度。公式为:c=5/9*(F-32)。
【样例输入】
100
【样例输出】
37.7778
【样例说明】
100是华氏温度,根据公式计算得到它对应的摄氏温度是37.7778
【解析】
热身题目,非常简单,但是有陷阱。
错误表达式 | 正确表达式 |
---|---|
double c=5/9*(F-32) | double c=5.0/9*(F-32) |
原因分析: 5是整数,9也是整数,故计算机计算5/9的方法与我们平时的计算不同。计算机算整数除以整数结果一定是一个整数,故5/9=0。此时要加入类型转换。当小数与整数进行运算的时候,根据数据类型的优先级,结果会是一个小数。
代码
#include<iostream>
using namespace std;
int main()
{
int F;
cin>>F;
cout<<(double)5/9*(F-32);
}