1

GESP认证C++编程真题解析 | 202412 一级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


编程题

B4062 温度转换

【题目来源】

洛谷:B4062 [GESP202412 一级] 温度转换 - 洛谷 (luogu.com.cn)

【题目描述】

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

\(C=K−273.15\)

\(F=C×1.8+32\)

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

【输入】

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

【输出】

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

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

【输入样例】

412.00

【输出样例】

Temperature is too high!

【算法标签】

《洛谷 B4062 温度转换》 #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

double k;  // 定义变量k,表示输入的绝对温度(单位:开尔文)

int main() {
    cin >> k;  // 输入绝对温度k

    double c = (k - 273.15);  // 将开尔文温度转换为摄氏温度
    double f = c * 1.8 + 32;  // 将摄氏温度转换为华氏温度

    // 判断华氏温度是否超过212度
    if (f > 212) {
        cout << "Temperature is too high!" << endl;  // 输出提示信息
    } else {
        printf("%.2lf %.2lf\n", c, f);  // 输出摄氏温度和华氏温度,保留两位小数
    }

    return 0;
}

【运行结果】

412.00
Temperature is too high!

B4063 奇数和偶数

【题目来源】

洛谷:[B4063 GESP202412 一级] 奇数和偶数 - 洛谷 (luogu.com.cn)

【题目描述】

小杨有 \(n\) 个正整数,他想知道其中的奇数有多少个,偶数有多少个。

【输入】

第一行包含一个正整数 \(n\),代表正整数个数。

之后 \(n\) 行,每行包含一个正整数。

【输出】

输出两个正整数(英文空格间隔),代表奇数的个数和偶数的个数。如奇数或偶数的个数为 \(0\),则对应输出 \(0\)

【输入样例】

5
1
2
3
4
5

【输出样例】

3 2

【算法标签】

《洛谷 B4063 奇数和偶数》 #GESP# #2024#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

const int N = 1e5 + 10;  // 定义常量N,表示数组的最大大小
int n;                   // n: 输入的整数个数
int odd, even;           // odd: 奇数个数,even: 偶数个数

int main() {
    cin >> n;  // 输入整数个数n

    // 遍历输入的n个整数
    for (int i = 1; i <= n; i++) {
        int x;
        cin >> x;  // 输入当前整数x

        if (x % 2) odd++;  // 如果x是奇数,odd加1
        else even++;       // 如果x是偶数,even加1
    }

    // 输出奇数个数和偶数个数
    cout << odd << " " << even << endl;

    return 0;
}

【运行结果】

5
1
2
3
4
5
3 2
posted @ 2026-01-18 07:53  热爱编程的通信人  阅读(2)  评论(0)    收藏  举报