天气预报

解题思路分析:

  1. 问题理解

    • 题目给出一个7字符的字符串,每个字符表示从明天开始的连续7天的天气

    • 'o'表示晴天,'x'表示雨天(根据样例输入确认)

    • 需要根据输入的N值,判断第N天的天气情况

  2. 关键点

    • 字符串索引从0开始,而天数计数从1开始,所以第N天对应字符串的第N-1个字符

    • 只需要检查指定位置的字符即可,不需要处理整个字符串

  3. 算法选择

    • 直接访问字符串指定位置的字符(O(1)时间复杂度)

    • 简单条件判断即可得出结果

  4. 边界情况考虑

    • N=1时检查s[0]

    • N=7时检查s[6]

    • 字符串保证长度为7,无需额外验证

  5. 代码优化

    • 使用最简短的输入输出方式

    • 直接比较字符,不做多余操作

    • 利用早期返回(虽然这里没有使用,但在更复杂逻辑中可以考虑)

  6. 易错点提醒

    • 注意字符串索引与天数的对应关系(容易误用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;  // 程序正常结束
}

 

posted @ 2025-04-29 20:36  行胜于言Ibl  阅读(15)  评论(0)    收藏  举报