C++ 竞赛入门
练习题目
字符串单元练习
完成本单元后再做下面的题。每题先自己列出输入格式、要保存的数据和输出格式;提交前用包含空格、空行边界或重复字符的样例手工检查。除非题目明确限制,优先使用 GNU C++17 的 std::string。
| 难度 | 题目 | 题解 | 训练目标 |
|---|---|---|---|
| 基础 | 洛谷 P5704:字母转换 | 题解 | 单个 char 的读入与字符编码转换。 |
| 基础 | 洛谷 P1914:小书童 - 密码 | 题解 | 遍历字符串,在字母范围内循环移动。 |
| 基础 | 洛谷 P1553:数字反转(升级版) | 题解 | 把输入看成字符序列,按规则处理不同部分。 |
| 巩固 | 洛谷 P5734:文字处理软件 | 题解 | 综合使用 string 的常用操作。 |
| 巩固 | 洛谷 P1308:统计单词数 | 题解 | 读取整行,处理空格、单词边界与大小写。 |
| 巩固 | 洛谷 P1598:垂直柱状图 | 题解 | 建立字符频次数组并格式化输出。 |
| 挑战 | 洛谷 P1012:拼数 | 题解 | 用字符串比较设计排序规则。 |
| 挑战 | 洛谷 P1603:斯诺登的密码 | 题解 | 将文本映射为数字字符串,再排序与拼接。 |
遇到错误时,先输出字符串长度和每个位置的字符及下标,再检查循环边界、读入方式和是否把空格遗漏了。完成所有基础题和至少两道巩固题后,再进入函数单元。