gesp(C++一级)(17)洛谷:B4062:[GESP202412 一级] 温度转换
gesp(C++一级)(17)洛谷:B4062:[GESP202412 一级] 温度转换
题目描述
小杨最近学习了开尔文温度、摄氏温度和华氏温度的转换。令符号 K K K 表开尔文温度,符号 C C C 表摄氏温度,符号 F F F 表华氏温度,这三者的转换公式如下:
C = K − 273.15 F = C × 1.8 + 32 C=K-273.15\\ F=C\times 1.8+32 C=K−273.15F=C×1.8+32
现在小杨想编写一个程序计算某一开尔文温度对应的摄氏温度和华氏温度,你能帮帮他吗?
输入格式
一行,一个实数 K K K,表示开尔文温度。
输出格式
一行,若输入开尔文温度对应的华氏温度高于
212
212
212,输出 Temperature is too high!
;
否则,输出两个空格分隔的实数 C C C 和 F F F,分别表示摄氏温度和华氏度,保留两位小数。
样例 #1
样例输入 #1
412.00
样例输出 #1
Temperature is too high!
样例 #2
样例输入 #2
173.56
样例输出 #2
-99.59 -147.26
提示
0 < K < 1 0 5 0<K<10^5 0<K<105。
AC代码(100分)
#include<bits/stdc++.h>
using namespace std;
/*思路:
已知,按公式先计算出c,再计算出f
然后根据f的计算结果,判断输出结果
注意1:数据有小数,数据类型用double
注意2:保留两位小数,可以cout中的setprecision(2),也可以使用格式化输出printf
*/
double k,c,f;
int main(){
cin>>k;
c=k-273.15;
f=c*1.8+32;
if(f>212){
cout<<"Temperature is too high!";
} else{
cout<<fixed<<setprecision(2)<<c<<" "<<f;
}
return 0;
}
文末彩蛋:
点击王老师青少年编程主页有更多精彩内容