C语言II博客作业03
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11923 |
这个作业的目标 | 学会使用字符串编程解决问题 |
学号 | 20209197 |
一、本周作业(总分:50分)
1.1 完成PTA作业,并给出编程题完成截图(5分)
7-1 向右移动字符串 (15 分)
对于字符串“abcd”:
向右移动1个单位变为“dabc”。
向右移动2个单位变为“cdab”。
向右移动3个单位变为“bcda”。
输入格式:
输入包含两行。第一行:一个非负整数N(在32 位整数范围内)代表向右移动次数。第二行:一个不包含空格的非空字符串(长度小于1001)。
输出格式:
输出在移动N个单位长度后的字符串。
7-2 加强密码 (15 分)
很多网站初始密码都是“123456”,为保障账号安全,第一次登录会强制修改密码为加强密码,已知某网站加强密码需要同时满足以下规定:长度为6-16;必须同时包含大写字母、小写字符、数字和特殊符号;首位必须为大写字母。
请你编写一个程序,判断用户设置的密码是否为加强密码。
输入格式:
输入第一行为一个整数T(1<=T<=20),代表测试数据的组数,随后T行,每行都是由小写字母、大写字母、数字、特殊符号组成的一串字符s,长度不超过20,特殊符号有且仅有@、#、$、%、^、&、*。
输出格式:
输出每行字符串是否为加强密码,是,输出“Yes”,不是,输出“No”,每组输出占一行。
7-3 手机号码 (15 分)
我国使用的手机号码为11位,其中各段有不同的编码方向:前3位是网络识别号;第4-7位为地区编码;第8-11位表示用户号码。
本题要求你实现一个程序,自动统计指定地区编码的手机号码的个数。
输入格式:
输入第一行为待查询的地区编码,随后每行都是11位数字组成的手机号码,当读到某一行只有一个英文句点 . 时,输入结束。
输出格式:
首先在第一行中输出手机号码的总个数。然后统计指定地区编码的手机号码有多少个。第二行首先输出第一次出现该地区编码的手机号码是第几个(从 1 开始计数,没有输出0),然后输出该地区编码手机号码的总个数(没有输出0),其间以一个空格分隔。题目保证输出的所有数字不超过10
9。
1.2 挑战题目:九宫格键盘对应英语单词
九宫格键盘一般可以用于输入字母。如用2可以输入A、B、C,用3可以输入D、E、F等。如图所示:
对于号码5869872,可以依次输出其代表的所有字母组合。如:JTMWTPA、JTMWTPB…… 您是否可以根据这样的对应关系设计一个程序,尽可能快地从这些字母组合中找到一个有意义的单词来表述一个电话号码呢?如:可以用单词“computer”来描述号码26678837.
题目来源:《编程之美——微软技术面试心得》 稍有修改
2.4 请给出本周学习总结(15分)
1 学习进度条(5分)
周/日期 | 这周花的时间 | 代码行数 | 学到的知识简介 | 目前比较困惑的问题 |
---|---|---|---|---|
第一周 | 一天 | 55 | 如何读取文件 | 存在很多问题 |
第二周 | 一天半 | 64 | 运用数组进行编程,了解排序方法 | 对各种解法的理解不深,运用不熟 |
第三周 | 一天半 | 65 | 学会使符串编程解决问题 | 很多 |
2 累积代码行和博客字数(5分)
3 学习内容总结和感悟(5分)
感悟:
脑子里东西越少,一个题目的思考时间就有多长,消化不太好...