
C++版浙大PAT乙级1078(20分)
当字符选为'C'时,程序会扫描字符串并记录重复字符的位置和次数 当字符选为'D'时,程序会识别数字字符并标记连续出现的数字字符
发布日期:2021-05-17 06:37:05
浏览次数:21
分类:精选文章
本文共 1124 字,大约阅读时间需要 3 分钟。
压缩容易,解压难一点。解压的时候一个字符的重复个数可能是10以上,要对有数字和没数字的字符进行标记。
以下是基于用户需求开发的C++程序,用于处理字符串中的重复字符和数字标记逻辑。
#includeusing namespace std; int main() { char ch; string str, res; cin >> ch; getchar(); getline(cin, str); if(ch == 'C') { int p = 0, q = 0; while (q < str.size() + 1) { if (str[p] == str[q]) { q++; } else { if (q - p > 1) { res += to_string(q - p); } res += str[p]; p = q; } } } else if (ch == 'D') { string num; int n, flag = 0; for (int i = 0; i < str.size(); i++) { if (isdigit(str[i])) { num += str[i]; flag = 1; } if (!isdigit(str[i]) && flag == 1) { n = atoi(num.c_str()); for (int j = 0; j < n - 1; j++) { res += str[i]; } flag = 0; num = ""; } if (!isdigit(str[i]) && flag == 0) { res += str[i]; } } } cout << res << endl; return 0; }
以上代码实现了两个功能:
代码逻辑清晰,主要包含以下几个部分:
- 输入处理
- 字符选定后执行不同的业务逻辑
- 重复字符扫描(C选项)
- 数字字符处理(D选项)
- 结果输出
程序结构简洁易懂,适合处理文本字符的重复标记和数字信息提取需求。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月23日 14时07分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java基础学习总结(47)——JAVA输入输出流再回忆
2025-04-02
Java基础学习总结(4)——对象转型
2025-04-02
Java基础学习总结(4)——对象转型
2025-04-02
Java基础学习总结(51)——JAVA分层理解
2025-04-02
Java基础学习总结(53)——HTTPS 理论详解与实践
2025-04-02
Java基础学习总结(54)——JSON和Map转换的工具类
2025-04-02
Java基础学习总结(56)——学Java必知十大学习目标
2025-04-02
Java基础学习总结(57)——Jrebel插件热部署
2025-04-02
Java基础学习总结(59)——30 个java编程技巧
2025-04-02
Java类实现一个类的障眼法
2025-04-02
Java基础学习总结(5)——多态
2025-04-02
Java基础学习总结(63)——Java集合总结
2025-04-02
Java基础学习总结(64)——Java内存管理
2025-04-02
Java基础学习总结(66)——配置管理库typesafe.config教程
2025-04-02
Java基础学习总结(67)——Java接口API中使用数组的缺陷
2025-04-02
Java基础学习总结(70)——开发Java项目常用的工具汇总
2025-04-02
Java基础学习总结(73)——Java最新面试题汇总
2025-04-02
Java基础学习总结(75)——Java反射机制及应用场景
2025-04-02
Java基础学习总结(76)——Java异常深入学习研究
2025-04-02
Java基础系列
2025-04-03