三级
C++ 算法考级专栏
真题分析、矩阵探测、递归回溯与基础语法
🎨 视觉封面【GESP】C++三级练习 luogu-p1567, 统计天数
📅 2025-02-09·✍️ OneCoder·计算中...·⏱️ 5 分钟
#GESP#C++#一维数组#多重循环
GESP三级,一维数组,多层循环和分支练习,难度★✮☆☆☆。
luogu-P1567 统计天数
题目要求
题目描述
炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。
经历千辛万苦,他收集了连续 天的最高气温数据。
现在,他想知道最高气温一直上升的最长连续天数。
输入格式
第 1 行:一个整数 。
第 2 行:个空格隔开的整数,表示连续 天的最高气温。 最高气温 。
输出格式
1 行:一个整数,表示最高气温一直上升的最长连续天数。
样例输入 #1
BASH
10
1 2 3 2 4 5 6 8 5 9
样例输出 #1
BASH
5
题目分析
解题思路
- 读取输入的天数 和每天的最高气温数据。
- 初始化一个变量
total_max,用于存储最高气温一直上升的最长连续天数,初始值为1。 - 如果输入的天数为1,则直接输出1,因为只有1天,最高气温一直上升的最长连续天数为1。
- 从第二天开始遍历每天的最高气温数据。
- 对于每天,如果当前天的最高气温大于上一天的最高气温,则当前最高气温一直上升的连续天数加1。
- 如果当前天的最高气温不大于上一天的最高气温,则更新最高气温一直上升的最长连续天数,并重置当前最高气温一直上升的连续天数为1。
- 遍历完毕后,更新最高气温一直上升的最长连续天数。
- 输出最高气温一直上升的最长连续天数。
示例代码
CPP
#include <cmath>
#include <iostream>
using namespace std;
int a[1000001];
int main() {
int n; // 定义一个整型变量n,用于存储输入的天数
cin >> n; // 从标准输入流中读取n的值
for (int i = 0; i < n; i++) {
cin >> a[i]; // 读取并存储每天的最高气温
}
int total_max = 1; // 初始化一个整型变量total_max,用于存储最高气温一直上升的最长连续天数,初始值为1
if (n == 1) { // 如果输入的天数为1
cout << total_max; // 直接输出1,因为只有1天,最高气温一直上升的最长连续天数为1
return 0; // 程序结束
}
int last_num = a[0]; // 初始化一个整型变量last_num,用于存储上一天的最高气温,初始值为第一天的最高气温
int cur_max = 1; // 初始化一个整型变量cur_max,用于存储当前最高气温一直上升的连续天数,初始值为1
for (int i = 1; i < n; i++) { // 从第二天开始遍历
if (a[i] > last_num) { // 如果当前天的最高气温大于上一天的最高气温
cur_max++; // 当前最高气温一直上升的连续天数加1
} else { // 如果当前天的最高气温不大于上一天的最高气温
total_max = max(total_max, cur_max); // 更新最高气温一直上升的最长连续天数
cur_max = 1; // 重置当前最高气温一直上升的连续天数为1
}
last_num = a[i]; // 更新上一天的最高气温为当前天的最高气温
}
total_max = max(total_max, cur_max); // 遍历完毕后,更新最高气温一直上升的最长连续天数
cout << total_max; // 输出最高气温一直上升的最长连续天数
return 0; // 程序结束
}
💡 OneCoder 资源指引
所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI
🤝 技术交流与答疑
欢迎加入:C++ GESP/CSP 考级答疑群(688906745) 与 Java/Python交流群(982860385),点击可直接加群。
📚
猜你想读 · 相关文章推荐
GESP 编程与算法 · 三级⏱️ 6 分钟
【GESP】C++三级真题 luogu-B4413 [GESP202509 三级] 数组清零
GESP C++ 2025年9月三级真题,一维数组考点,难度★★☆☆☆。
阅读全文 →
GESP 编程与算法 · 三级⏱️ 18 分钟
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
GESP C++ 2025年9月三级真题,一维数组考点,难度★★☆☆☆。
阅读全文 →
GESP 编程与算法 · 三级⏱️ 4 分钟
【GESP】C++三级练习 luogu-B2064, 斐波那契数列
斐波那契数列本身可能并不一定涉及数组知识点,但本题中要求的输入、输出格式涉及到三级知识点一维数组的使用。 题目本身对小学生来说,也是有一定难度的。
阅读全文 →
OneCoder (lihongzheshuai)
一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com
💬 读者留言与交流
还没有留言,快来成为第一个讨论者吧!