这个作业的要求在哪里 | 要求对于一维二维数组要清楚知道它的结构格式长度及运用条件,输出的表达形式 |
我在这个课程的目标是 | 灵活运用一维二维数组,知道定义出的一维数组的长度 |
这个作业在那个具体方面帮助我实现目标 | 通过分开单独定义和集中定义元素的数组比较让我认识了如何辨别数组长度及运用,通过编译机制让我知晓了数组的运用场景 |
参考文献 | C语言程序设计教程 |
1.PTA实践作业
1.1 sdut-C语言实验-字符编码
请将一串长度最长为5的纯字母文本译成一个密码,密码规律如下:用原来的字母后面的第4个字母代替原来的字母。如C用G代替(如果该字母没后面没有第4个字母可代替,则需从26字母表中的首字母开始代替,比如:W用A代替,Z用D代替),最后得到的文本即为密码。
1.1.1数据处理
数据处理:i是整型常量,str[10]是一维数组,i是由赋值定义而来的,str[10]是由for循环语句输出其中的元素
数据处理:其中含有while语句以及定义数组元素的for循环语句和if语句
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 |
---|---|
China | password is Glmre |
badge | password is fehki |
apple | password is ettpi |
gamer | password is keqiv |
1.1.4PTA提交列表及说明
提交列表说明:最开始只编写了for循环语句和if语句导致了结构残缺,输出时编译错误,后面添加了while循环语句以及限制了str[10]数组的条件得出答案
1.2最矮的巨人
操场上有N x N个“巨人”按N行N列的矩阵形式列队,请编程找出该方阵中所有“最矮的巨人”。
所谓“最矮的巨人”是指,该巨人在其所在行中,身高最高(没人比其更高);且在其所在列中,身高最矮(没人比其更矮)。
1.2.1数据处理
数据表达:n,a,b,i,j,c,k,max是整型变量,由定义赋值而来,arr[100][100]是一个二维数组,由两个for循环语句输出得来
数据处理:其中含有for循环语句,if语句
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 |
---|---|
4 | |
1 7 4 6 | (1,1) |
4 6 3 6 | (1,3) |
1 6 1 6 | (2,1) |
0 7 8 7 | (2,3) |
2 | |
7 9 | |
3 8 | (1,1) |
1.2.4PTA提交列表及说明
提交列表说明:最开始看题时就确定了是有关于二维数组的编程题,由于学过编译如何查找最小数的下标及构画了思维导图,基本没有什么纰漏完成了此题
2.代码互评
同学的代码
自己的代码
代码评价:我与同学的异同点在于我定义了二维数组的范围,而同学是直接就使用了for循环来输入元素,没有范围,但是同学的代码更简洁,我们都使用了for,if语句带编译,思路大致相同
3.学习总结
3.1学习进度条
周/日期 | 所花时间 | 学到的知识点简介 | 目前比较疑惑的问题 |
---|---|---|---|
第一周 | 8h | 进制转换,输入输出 | 书写代码的主题构架是怎么写的 |
第二周 | 10h | 常量变量等数据类型 | 哪些是常量哪些是变量,它们在数据中又占了几个字节 |
第三周 | 10h | 表达式,运算符 | 式子的优先级是怎样的,运算符有哪些种类 |
第四周 | 12h | 思维导图,流程图 | 整体的构造是怎么样的,有什么作用 |
第五周 | 12h | if语句,for语句 | 语句的适用场景是什么,语句的构造是怎样的 |
第六周 | 15h | 二维数组 | 二维数组怎么定义,可以运用在什么场景及解决什么问题 |
3.2积累代码行和博客数字
3.3学习内容总结与感悟
3.3.1学习内容总结
3.3.2学习体会
1.通过对PTA习题的练习,我逐渐的熟悉了对二维数组的应用,能在不同的场景运用数组,做出与数组有关的题目
2.通过阅读文献,我加深了对数组的理解,初步形成了解读有关于数组的代码的能力,在与同学的讨论中有了更多的理论依据