C++ 竞赛入门

练习题目

字符串单元练习

完成本单元后再做下面的题。每题先自己列出输入格式、要保存的数据和输出格式;提交前用包含空格、空行边界或重复字符的样例手工检查。除非题目明确限制,优先使用 GNU C++17 的 std::string

难度 题目 题解 训练目标
基础 洛谷 P5704:字母转换 题解 单个 char 的读入与字符编码转换。
基础 洛谷 P1914:小书童 - 密码 题解 遍历字符串,在字母范围内循环移动。
基础 洛谷 P1553:数字反转(升级版) 题解 把输入看成字符序列,按规则处理不同部分。
巩固 洛谷 P5734:文字处理软件 题解 综合使用 string 的常用操作。
巩固 洛谷 P1308:统计单词数 题解 读取整行,处理空格、单词边界与大小写。
巩固 洛谷 P1598:垂直柱状图 题解 建立字符频次数组并格式化输出。
挑战 洛谷 P1012:拼数 题解 用字符串比较设计排序规则。
挑战 洛谷 P1603:斯诺登的密码 题解 将文本映射为数字字符串,再排序与拼接。

遇到错误时,先输出字符串长度和每个位置的字符及下标,再检查循环边界、读入方式和是否把空格遗漏了。完成所有基础题和至少两道巩固题后,再进入函数单元。