「PAT乙级真题解析」Basic Level 1052 卖个萌 (问题分析+完整步骤+伪代码描述+提交通过代码)

乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。

PAT乙级BasicLevelPractice 1052

问题分析

题目给定三组符号集合作为"手", “眼”, “口"的姿势,
要求根据用户输入的序号使用对应序号的"手”, “眼”, “口"以”[左手]([左眼][口][右眼])[右手]"的形式输出表情。
输出的部分很简单, 只要使用序号作为索引取到符号输出即可,
所以本题的重点不是输出, 而是如何从输入生成用于取数的符号集合.
对于一些封装层次比较高的语言, 完全可以使用正则之类的方法提取出符号生成集合.
也可以使用字符串分割的方式生成集合.
对于C语言, 需要自行实现符号提取逻辑.

如何提取符号

题设规定"每个符号括在一对方括号 []内", 所以"[“标记着符号开始, 而”]“标记着符号结束.
所以在遇到”[“时, 设置符号索引为下一个符号的序号, 字符存储索引为0, 然后直到遇到”]“之前都读取字符.
在遇到”]“时, 意味着符号结束, 在当前符号字符串的末尾加上结束符”\0". 这样之后再读入字符也是没有影响的(但是要避免继续读入索引越界)。
同时要记录符号的个数, 即, "]"的个数.

完整描述步骤

  1. 获取输入: “手”, “眼”, "口"的输入
  2. 从输入中提取"手", “眼”, "口"的符号集合
  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明仔的阳光午后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值