C语言II—作业03


这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11918
这个作业的目标 <了解字符及字符串的应用,调用、处理二维数组>
学号 <20209150>

一、本周作业(总分: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分)

周/日期 这周所花的时间 累计代码行 学到的知识点简介 目前比较疑惑的问题
第一周/21年3月5日 20 147 用C语言读取文本文件 如何更好地计算代码运行时间
第二周/21年3月12日 20 219 数组定义、简单排序、查找
第五周/21年4月2日 20 219 二维数组
第六周/21年4月9日 24 593 字符串、字符数组以及字符型处理库函数 字符串与字符数组的区别

2 累积代码行和博客字数(5分)

3 学习内容总结和感悟(5分)

冒泡排序自己的理解和用法

冒泡排序法,指的是它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
我的理解是依据要排序的方向从左到右依次将相邻的两个元素相比较,并把相对而言大(小)的元素移到某一边,利用循环语句,第一轮循环可以将最大(小)的那个元素移到正确的位置,第二次可以将第二大的元素移动到正确的位置,以此推类
冒泡排序法的用法;可以用代码示例

此篇博客字数约为1687字(字数更新日期2021年5月4日15:00)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM