数组
PTA 实验作业
第一道
7-2 求最大值及其下标
1.提交列表
2.题目设计思路
本题要求我们编写程序,找出给定的n个数中的最大值及其对应的最小下标.尤其要注意的是下标从0开始.
首先我们先输入 n 并且定义一个一维数组a[n],输入一串数字.
先将a[0] 赋值给最大值 max .
循环 n-1次来将每一个数字与 max 进行比较,如果依旧小与 max 就继续比较下一个,如果大于 max, 就将 该数字赋值给max.
全部比较完之后再输出 max 和该数字的下标.
3.1设计源代码
3.2流程图
4.本题调试过程碰到问题及PTA提交列表情况说明
错误点
忽略了当只有一位数的特殊情况和有相同大小时候取前位的情况.
第二道
7-20 输出 GPLT
1.提交列表
2.设计思路
本题要求将长度不超过10000由英文字母构成的字符串重新调整顺序,按GPLTGPLT....
这样的顺序输出,并忽略其它字符.
同时要注意到四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT
的顺序打印,直到所有字符都被输出.
首先我们先要在在输入定义的数组时统计所出现的 gplt 这四个字母的数量,同时统计总共几个符合条件的字符,也就是大循环几次.
先定义出四个变量用来存储各个字母的出现次数.
之后在全输入完之后再通过每次输出一次变量就减少的条件来循环判断该字母是否全输完毕,也就是是否可以停止输出该字符.
最后当大循环 i 次之后就可以跳出循环,结束运行.
3.1源代码
3.2思路流程图
4.本题调试过程碰到问题及PTA提交列表情况说明
第三道
7-2 查找整数
1.提交列表
2.题目设计思路
本题要求我们从输入的n个整数中查找给定的X。如果找到,输出X的位置注意是从0开始数,如果没有找到,输出“Not Found”.
这道题相对简单,只需要将一个数字 x 和我们输入的 n 个数字注意对比,找到存在的相同的那个数的下标就可以.
先输入 n 再输入 n 个数 a[i],之后输入需要对比的数 x.
从第一个开始逐个比较,切记下标和比较次数的关系.
当找到那位数时候就输出其所对应的下标值.
切记如果没有找到该数一定要输出 Not found.
3.1源代码截图
3.2思路流程图
4.本题调试过程碰到问题及PTA提交列表情况说明
一个是应为在输出的时候将"Not Found"忘记了大小写,还有一个就是在输出时候将其数字当做下标输出.
二、截图本周目集的PTA最后排名。
三、同学代码结对互评
1.互评同学名称
对方(黄世坤)
题目:7.4
2.我的代码、互评同学代码截图
我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
(1)我采用的是直接写出,对方用的是子函数。
(2)我的代码优势在于简洁,能够使人一目了然,没有过多的变量,看的明白。
对方的的代码当在重复利用的代码中更有优势,子函数易于分辨.因为对方使用了子函数所以中间变量可能有点多。
(3)我更喜欢自己的代码.
四、本周学习总结(2分)
1.你学会了什么?
数组的定义
数组元素的类型 变量名 大小
注意,数组长度是一个整型常量表达式
数组的存储(地址)
数组如何引用
数组单个数组元素,而不是一次引用整个数组
注意,数组小标不能越界
区分数组定义和数组引用,防止越界
数组的初始化
大括号赋初值
2.本周的内容,你还不会什么?
这一类的题目依旧不太懂,尤其是用二位数组的时候依旧不会.
希望能在以后应用的过程中多多实践.