当前位置: 首页 > news >正文

2026年6月GESP真题及题解(C++三级):字符转换

2026年6月GESP真题及题解(C++三级):字符转换

题目描述

小杨同学有一串字符,里面可能有:

  • 大写字母,比如A AAB BBC CC
  • 小写字母,比如a aab bbc cc
  • 数字,比如0 001 112 22

现在小杨同学想把这串字符变一变,规则如下:

  1. 如果是大写字母,就变成对应的小写字母;
  2. 如果是小写字母,就变成对应的大写字母;
  3. 如果是数字,就变成*

请你按照这个规则,帮小杨把整串字符转换好。

输入格式

输入一共有2 22行。

第一行:一个整数,表示这串字符一共有多少个字符。

第二行:一串连续的字符,中间没有空格。

输出格式

输出转换后的字符。

注意:输出时字符之间不要加空格。

输入输出样例 #1
输入 #1
5 aBc98
输出 #1
AbC**
说明/提示

原来的字符是:

aBc98

从左到右一个一个看:

  1. a aa是小写字母,所以变成A AA
  2. B BB是大写字母,所以变成b bb
  3. c cc是小写字母,所以变成C CC
  4. 9 99是数字,所以变成*
  5. 8 88是数字,所以变成*

所以最后输出:

AbC**
数据范围

字符个数不会超过1000 10001000个。

每个字符只会是大写字母、小写字母或数字。

思路分析

题目要求按规则转换字符:大写→小写,小写→大写,数字→*
为避免直接使用 ASCII 码数值(如 +32),我们改用字符偏移计算:

  • 大写转小写:s[i] = s[i] - 'A' + 'a';
    原理:将字符相对'A'的偏移量,加上'a'的 ASCII 值。
  • 小写转大写:s[i] = s[i] - 'a' + 'A';
    原理:将字符相对'a'的偏移量,加上'A'的 ASCII 值。
  • 数字直接赋值为'*'

其他处理逻辑不变:读入长度n和字符串,遍历前n个字符,判断类型并修改,最后输出整个字符串。


代码实现

#include<bits/stdc++.h>usingnamespacestd;intn;string s;intmain(){cin>>n>>s;// 读入长度和字符串for(inti=0;i<n;i++){// 逐个处理if(s[i]>='A'&&s[i]<='Z')// 大写字母s[i]=s[i]-'A'+'a';elseif(s[i]>='a'&&s[i]<='z')// 小写字母s[i]=s[i]-'a'+'A';elseif(s[i]>='0'&&s[i]<='9')// 数字s[i]='*';}cout<<s;return0;}

功能分析

  1. 输入处理cin >> n >> s读取长度和字符串,因为字符串无空格,故可完整读入。

  2. 字符判断:利用 ASCII 码范围区分大写、小写、数字。

  3. 转换操作

    • 大写→小写:s[i] - 'A' + 'a'(例如'B'66 - 65 + 97 = 98 →'b'
    • 小写→大写:s[i] - 'a' + 'A'(例如'c'99 - 97 + 65 = 67 →'C'
    • 数字→'*':直接赋值。
  4. 输出:按顺序输出修改后的字符串。


各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}

【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}

http://www.jsqmd.com/news/1110152/

相关文章:

  • ISTA 3B:货物运输的全真模拟闯关,告别零担货损烦恼
  • Java毕设项目:基于 SpringBoot 的瑜伽普拉提会馆营收数据可视化系统的设计与实现 基于 SpringBoot 的运动会所学员课时台账管理系统 (源码+文档,讲解、调试运行,定制等)
  • Simple Runtime Window Editor:三步实现游戏窗口的终极控制
  • 为什么开发者都在用Markdown-it?5个理由告诉你现代Markdown解析的正确姿势
  • 不锈钢铝蜂窝吊顶工程选材数据与工艺落地分析
  • LLM量化原理与工程实践:从4-bit到2-bit的权衡分析
  • 企业无线网络监控的挑战与智能化演进趋势
  • 6 个漂移模式:AI 生成界面的语义断层证据库
  • 全平台视频元数据解析:从零搭建高效API集成方案
  • LLM原生应用架构设计:从微服务到能力流编排
  • Claude 3.5‘归零层’解析:语义校验环移除与能力密度跃升
  • STM32与TB9051FTG实现静音级直流电机控制方案
  • AI对齐是范畴错误:从价值观幻觉到可审计工程控制
  • 工业复杂工况下智能配电改造方案:宽温、抗谐波、离线自持技术解析
  • 太原助听器性价比高
  • AI工程师的思维操作系统:从语言计算到LLM生产闭环
  • 计算机毕业设计之jsp教师职业发展管理系统
  • 如何轻松掌握DRG存档编辑器:5分钟快速上手完整指南
  • 模板驱动文档自动化:零代码实现结构化内容批量生成
  • AI时代GEO营销实战:精准定位与智能投放策略
  • 模板驱动型文档自动化:零代码实现PDF/DOCX批量生成
  • AI模型部署优化:延迟与显存管控实战技巧
  • GPT-6技术深度解析:MoE架构、证据链训练与分层语义索引
  • 孤能子视角:三十六计之瞒天过海——分辨率调控
  • 你的Windows任务栏还只是个时钟吗?TrafficMonitor插件让它变身全能监控中心
  • AI内容检测新范式:从识别AI到定位人工干预痕迹
  • 多维聚合中的数据操纵:维度裁剪、条件计算与流式再加工
  • AI研究,炸翻未来创新!
  • AI Agent成本陷阱:推理链、工具调用与上下文的三大开销源
  • 第三篇:《CPU 性能分析工具全家桶:top、htop、mpstat、pidstat》