[GESP202412 一级] 温度转换

[GESP202412 一级] 温度转换

GESP一级2024年12月真题,难度★☆☆☆☆。

luogu-b4062

题目要求

题目描述

小杨最近学习了开尔文温度、摄氏温度和华氏温度的转换。令符号 KK 表开尔文温度,符号 CC 表摄氏温度,符号 FF 表华氏温度,这三者的转换公式如下:

C=K273.15F=C×1.8+32> C=K-273.15\\ F=C\times 1.8+32 >

现在小杨想编写一个程序计算某一开尔文温度对应的摄氏温度和华氏温度,你能帮帮他吗?

输入格式

一行,一个实数 KK,表示开尔文温度。

输出格式

一行,若输入开尔文温度对应的华氏温度高于 212212,输出 Temperature is too high!

否则,输出两个空格分隔的实数 CCFF,分别表示摄氏温度和华氏度,保留两位小数。

样例输入 #1

412.00

样例输出 #1

Temperature is too high!

样例输入 #2

173.56

样例输出 #2

-99.59 -147.26

提示

0<K<1050<K<10^5


题目分析

这道题目的解题思路是:

  1. 读取开尔文温度值 KK
  2. 计算摄氏温度 CC 和华氏温度 FF
  3. 检查是否华氏温度高于 212212,如果是,则输出 Temperature is too high!
  4. 否则,输出摄氏温度和华氏温度,保留两位小数

{% include custom/custom-post-content-inner.html %}

示例代码

#include <cstdio>
#include <iostream>
using namespace std;
int main() {
    // 读取温度值
    double k;
    cin >> k;
    // 计算摄氏温度
    double c = k - 273.15;
    // 计算华氏温度
    double f = c * 1.8 + 32;
    // 检查是否温度过高
    if (f > 212) {
        cout << "Temperature is too high!";
        return 0;
    }
    // 输出摄氏和华氏温度
    printf("%.2f %.2f", c, f);
    return 0;
}

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on