一、PTA实验作业
题目1: 区位码输入法
1.本题PTA提交列表
2. 设计思路
- 第一步:定义变量,a放区码,b放位码,s放区位码。
- 第二步:输入s。
- 第三步:取s的前两位数为a=s/100,后两位数为b=s-a*100。
- 第四步:分别字符输出a+160和b+160。
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
- 刚开始时直接输入区码和位码,然后输出,但应该输入区位码,在分解成区码和位码。
题目2: 判断合法标识符
1.本题PTA提交列表
2. 设计思路
- 第一步:定义变量i,j,n,用数组定义字符变量c[80]。
- 第二步:输入n。
- 第三步:for i=1 to n,输入字符c[0]。
- 第四步:如果第一个字符为下划线或者字母,则继续判断下一个字符。否则输出No。
- 第五步:如果下一个字符为空格或不是下划线或不是字母或者不是数字,则输出No。
- 第六步:否则continue继续判断。
- 第七步:如果字符为0时,则全部判断完,输出Yes。
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
- 输入空格时,输出会做出空格两旁的判断,输出两个结果,解决方法是把空格做为字符判断条件。
题目3:简单计算器
1.本题PTA提交列表
2. 设计思路
- 第一步:定义变量a和b放运算数,sum放结果并赋值0,定义字符变量ch。
- 第二步:输入a。
- 第三步:如果输入的字符不是=,则输入b,否则输出a。
- 第四步:如果ch'/'&&b0,输出ERROR,结束程序。
- 第五步:判断字符如果是四则运算,则分别进行a,b之间的四则运算并将结果sun赋值给a再重复判断。
- 第六步:否则输出ERROR,结束程序。
- 第七步:输出a。
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
- 刚开始不知道运算后怎么输出值,解决方法是将每一步运算结果赋给运算数,再进行下一步计算。
二、截图本周题目集的PTA最后排名
三、本周学习总结
1.你学会了什么?
1.1 一维数组如何定义、初始化?
- 定义格式为
类型名 数组名 [数组长度]
; 初始化格式为类型名数组名 [数组长度] = {初值表}
; 当初始化把数组中的每一个数都初始化时,可以省略数组长度
1.2 一维数组在内存中结构?可画图说明。数组名表示什么?
- 连续的,线性的
- 数组名是一个地址常量,存放数组内存空间的首地址
1.3 为什么用数组?
1.4 介绍选择法、冒泡法、直接插入排序如何排序?伪代码展示.
- 冒泡法:循环n趟,每趟比较n-i次,相邻比较,逆序交换,大数沉底
- 选择法:n个数循环n-1趟,将第一个数作为最大数,比较n次,与后面数比较,如果后面数比较大,记住他的下标,与最大数交换
- 插入法:循环n趟,将待插入数暂存于变量t中,在数组中寻找插入位置,若未找到插入位置,则当前元素后移一个位置
1.5 介绍什么是二分查找法?它和顺序查找法区别?
- 二分查找法就是先寻找数组中间位置的数,判断其是否为要寻找的数,不是的话,大于要找的数,则往左继续二分,小于要找的数,则往右二分。
- 二分查找法适用于排序过的数组,速度快,顺序查找法要遍历数组,在数组很大时效率低,但对数组本身没有要求,适用于短数组
1.6 二维数组如何定义、初始化?
- 二维数组定义格式为
类型名 数组名 [行长度][列长度]
- 初始化格式为类型名
数组名 [行长度][列长度] = { {初值表0}, ... ,{初值表k}, ...}
如果初始化了全部行,则可以忽略行长度
1.7 矩阵转置怎么实现?方阵中:下三角、上三角、对称矩阵的行标i列标j的关系?
- 用嵌套循环遍历数组,如果i<j,就交换i,j的值,下三角:列小于行,上三角列大于行
1.8 二维数组一般应用在哪里?
2.本周的内容,你还不会什么?
- 对数组的行列下标要从0开始,经常会犯错
- 对二维数组还不够理解
posted @
2017-11-26 20:11
做人要有疯度
阅读(
229)
评论()
编辑
收藏
举报