1 条题解

  • 0
    @ 2025-10-24 15:01:20

    思路分析

    1. 任务拆解: 我们要在一串英文字母中找出满足两个条件的字符:

    • ASCII码是偶数
    • 在所有满足条件的字符中ASCII码最大

    2. 关键点分析:

    • 需要遍历字符串中的每个字符
    • 检查字符的ASCII码是否为偶数(能被2整除)
    • 在符合条件的字符中找出ASCII码最大的那个

    3. 步骤规划:

    • 第一步: 读取字符串。
    • 第二步: 设置一个变量max,初始为-1(表示还没找到符合条件的字符)。
    • 第三步: 遍历字符串的每个字符:
      • 检查当前字符的ASCII码是否为偶数
      • 如果是偶数,并且比当前记录的max值更大,就更新max
    • 第四步: 遍历结束后:
      • 如果max还是-1,说明没找到符合条件的字符,输出"No"
      • 否则,将max转换为字符输出

    4. 代码对应:

    • getline(cin,a); 读取字符串
    • int max=-1; 初始化最大值记录器
    • for(int i=0;i<a.size();i++) 遍历每个字符
    • if(a[i]>max&&a[i]%2==0) 检查字符是否满足条件
    • max=a[i]; 更新最大值
    • if(max==-1) cout<<"No"; else cout<<char(max); 输出结果

    简单理解: 就像在一堆字母中找出"双数号码"(ASCII码为偶数)中"号码最大"的那个字母。

    • 1

    信息

    ID
    1002
    时间
    1000ms
    内存
    64MiB
    难度
    6
    标签
    (无)
    递交数
    592
    已通过
    193
    上传者