『题解』UVa online judge UVA11984 A Change in Thermal Unit

题目传送门

题目大意

给定摄氏温度 \(C\) 与增长的华氏温度 \(d\),求温度增长后的温度为多少摄氏度,结果保留两位小数。摄氏温度转换华氏温度公式为:

\[F=\dfrac{9}{5}C+32 \]

多组数据。

思路

我们先来考虑将华氏度 \(d\) 转化为摄氏度,这样好计算一些。可以由摄氏度到华氏度的转换公式推导出华氏度到摄氏度的公式:

\[C=\dfrac{5}{9}(F-32) \]

但是很容易发现,当 \(d\) 低于 \(32\) 时,转换后变成了一个负数,所以这种方法不可取。

那么我们就要考虑将 \(C\) 转换为华氏度:

\[(\dfrac{9}{5}C+32)^{\circ}F \]

这样一来,就得到了华氏温度,再加上 \(d\),就是最终结果了。但是还需要将结果转换成摄氏度,于是得到计算公式:

代码

#include <iostream>
using namespace std;
int t;
double c,d;

int main(){
    cin >> t;
    for(int i=1; i<=t; i++){
        cin >> c >> d;
        printf("Case %d: %.2lf\n",i,c+d*5.0/9.0); // 直接套公式
    }
    return 0;
}
posted @ 2022-01-21 21:28  仙山有茗  阅读(28)  评论(0编辑  收藏  举报