文章

【GESP】C++一级真题 luogu-b4062, [GESP202412 一级] 温度转换

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

luogu-b4062

题目要求

题目描述

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

C=K273.15F=C×1.8+32

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

输入格式

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

输出格式

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

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

样例输入 #1

1
412.00

样例输出 #1

1
Temperature is too high!

样例输入 #2

1
173.56

样例输出 #2

1
-99.59 -147.26

提示

0<K<105


题目分析

这道题目的解题思路是:

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

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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;
}

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

GESP各级别考纲要点、知识拓展和练习题目清单详见C++学习项目主页

luogu-”系列题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

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

本文由作者按照 CC BY 4.0 进行授权