天气预报
解题思路分析:
-
问题理解:
-
题目给出一个7字符的字符串,每个字符表示从明天开始的连续7天的天气
-
'o'表示晴天,'x'表示雨天(根据样例输入确认)
-
需要根据输入的N值,判断第N天的天气情况
-
-
关键点:
-
字符串索引从0开始,而天数计数从1开始,所以第N天对应字符串的第N-1个字符
-
只需要检查指定位置的字符即可,不需要处理整个字符串
-
-
算法选择:
-
直接访问字符串指定位置的字符(O(1)时间复杂度)
-
简单条件判断即可得出结果
-
-
边界情况考虑:
-
N=1时检查s[0]
-
N=7时检查s[6]
-
字符串保证长度为7,无需额外验证
-
-
代码优化:
-
使用最简短的输入输出方式
-
直接比较字符,不做多余操作
-
利用早期返回(虽然这里没有使用,但在更复杂逻辑中可以考虑)
-
-
易错点提醒:
-
注意字符串索引与天数的对应关系(容易误用s[n]而忘记减1)
-
注意题目中'o'和'x'的具体含义(与样例一致)
-
输出严格使用"Yes"/"No",注意大小写
-
#include<bits/stdc++.h> // 包含所有标准库头文件
using namespace std;
int main(){
int n; // 定义变量n,表示要查询的第几天(1-7)
cin>>n; // 读取用户输入的n
string s; // 定义字符串s,存储7天的天气预报
cin>>s; // 读取天气预报字符串
// 判断第n天的天气情况
// 注意:字符串索引从0开始,所以第n天对应s[n-1]
if(s[n-1]=='x') // 如果第n天的字符是'x'
cout<<"No"; // 输出No(雨天)
else // 否则
cout<<"Yes"; // 输出Yes(晴天)
return 0; // 程序正常结束
}

浙公网安备 33010602011771号