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

CCF-GESP计算机学会等级考试2026年6月三级C++T2 字符转换

B4556 [GESP202606 三级] 字符转换

题目描述

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

  • 大写字母,比如AAABBBCCC
  • 小写字母,比如aaabbbccc
  • 数字,比如000111222

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

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

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

输入格式

输入一共有222行。

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

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

输出格式

输出转换后的字符。

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

输入输出样例 #1

输入 #1

5 aBc98

输出 #1

AbC**

说明/提示

原来的字符是:

aBc98

从左到右一个一个看:

  1. aaa是小写字母,所以变成AAA
  2. BBB是大写字母,所以变成bbb
  3. ccc是小写字母,所以变成CCC
  4. 999是数字,所以变成*
  5. 888是数字,所以变成*

所以最后输出:

AbC**

数据范围

字符个数不会超过100010001000个。

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

题解

这道题要求对给定的字符序列进行三种规则转换:

  • 大写字母 → 小写字母
  • 小写字母 → 大写字母
  • 数字 →*

我直接遍历字符串中的每个字符,利用 C++ 标准库提供的字符判断和转换函数(isupperislowerisdigittolowertoupper)来依次判断并修改。由于字符串可以原地修改,我直接修改s[i]的值,最后输出整个字符串即可。

时间复杂度O(n),n 为字符个数(≤1000),非常高效。
空间复杂度O(1)(除输入字符串外,只用了几个变量)。

注意:输入第二行是连续字符串,中间没有空格,直接用cin >> s读取即可。输出时不要加空格,直接输出转换后的字符串。


带注释的源代码

#include<bits/stdc++.h>usingnamespacestd;intn;// 字符个数string s;// 存储输入的字符串intmain(){cin>>n;// 读入字符个数(实际上可以不用,因为字符串长度已知,但按照题目输入格式需要读)cin>>s;// 读入待转换的字符串// 遍历字符串的每一个字符for(inti=0;i<n;i++){// 如果是大写字母,转为对应的小写字母if(isupper(s[i])){s[i]=tolower(s[i]);}// 如果是小写字母,转为对应的大写字母elseif(islower(s[i])){s[i]=toupper(s[i]);}// 如果是数字,转为 '*'elseif(isdigit(s[i])){s[i]='*';}// 根据题目保证,字符只会是大写字母、小写字母或数字,所以无需处理其他情况}// 输出转换后的字符串(中间无空格)cout<<s;return0;}
http://www.gsyq.cn/news/1615853.html

相关文章:

  • HarmonyOS APP《画伴梦工厂》开发第17篇:视频导出与本地保存——DocumentViewPicker
  • 这份榜单够用!2026年好用AI论文工具榜单,免费版也能写合规初稿
  • 系统规划与管理师-信息论与控制论考点解析及应用实践
  • AI越强,模具生产为何反而更耗时?
  • BSPHP系统未授权访问漏洞实战剖析:从成因到防护与应急响应
  • 【锂电模组钢带成型线:自动化升级中的工艺痛点与全生命周期成本解析】
  • 为什么癌前病变进展研究需要空间单细胞蛋白组?
  • 计算机Java毕设实战-基于 Java Web 的乡村茶园文化展示推广系统的设计与实现 基于 Java Web 的茶农互动交流资讯平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 博学谷ai大模型就业班第八期
  • pSLC 是智商税还是真技术?
  • GitHub数学公式终极指南:MathJax插件让你的技术文档更专业
  • Python和.NET交互-与最新DeepSeekV3.2大模型对话
  • YOLOv8注意力机制改进与Transformer融合策略:提升目标检测全局上下文感知能力
  • 博图桌面静态计数机,数字化仓储解决方案
  • 安装git
  • 2026 AI外呼机器人厂商测评及盘点:AI 电话外呼系统哪家更适合中小企业?
  • 终极指南:如何在VS Code中使用Mermaid图表预览插件快速绘制专业图表
  • C++20:Modules(下):实现一个多模块图像处理工具
  • 深度学习里明明有一个很好的idea,但是跑出的效果不理想,是否可以稍微人工干预?
  • Windows 打印机共享报错,我折腾了一圈找到的小工具
  • 3个BetterJoy核心配置技巧:让Switch控制器在PC上实现专业级游戏体验
  • Claude Opus 4.7深度解析:推理路径剪枝与事实锚定技术
  • 系统集成考试:单选题差2~4分,排除法+关键词单选可多拿5分
  • 企业微信响应时效优化:基于SCRM超时提醒机制的自动化预警方案
  • 聊到CBCX外汇在线支持,清楚吗?
  • Notepad++实时Markdown预览插件:5分钟掌握高效文档编辑的完整指南
  • API接口平台15个高频报错完整解答
  • 思源宋体:5步解锁专业中文排版的终极免费方案
  • 轻量化大模型部署:让AI走出机房,落地终端与边缘场景
  • 《可控可信企业智能体白皮书》企业级 Agent 的治理范式、技术架构与商业路径——从内部协同到跨企业协作