PTA数组作业
题目一:
7-12 选择法排序
主要思路以及流程图
1.定义i,k,a[10],n,temp,max;
2.输入n
3.再循环语句中输入n次a[i]
4.默认取a[max]=a[i]后把每个a[i]与a[max]在k的循环中比较,选比较大的值作为新的a[max],这样能得到有序数列
5.分别输出每个a[i]
提交结果:
本题遇到的问题:
本题做得较好,运行过程中没有出现问题
题目二:
7-4 查找整数
主要思路及流程图:
1.定义n,x,i,flag=1;
2.输入n和x,
3.在n次循环中输入str[i]
4.在新的i循环中将x和str[i]逐个对比,要是有相同的就把flag值变为0并输出,要是Flag最后等于1则没有找到
提交结果:
本题遇到的问题:
做这道题目时,对于i的循环有了错误的理解,导致循环次数多了1,使得程序在实施操作以后虽然可以成功,但是在PTA上没有成功,经过检查后找出了问题所在并且改正。
遇到的问题:
题目三:
7-6 冒泡法排序
主要思路及流程图:
1.定义出n,k,i,a[i],count,temp
2.输入两个值n和k
3.依次输入a[i]
4.在i和j的循环中依次对数列进行扫描,把相邻的两个数如果后面的数小于前面一个,就将他俩调换,第x次扫描后从第x+1个元素开始继续扫描
5.重复4的操作直到count=k,输出想要的数列。
提交结果:
本题遇到的问题:
在程序运行中,忘记编写退出循环的语句,导致不成功。
二、同学互评代码:
陈淑妃的代码:
我的代码:
i
分析:
陈淑妃的代码中运用到了子函数,使得程序更简洁,也更高效,并且她在子函数中运用了比较的语句,这是我所不熟悉且比较少用的,这是她的优点,而我的代码使用了flag变量来自定义为是否输入Not found的条件,比较清晰明了,而我还有很多欠缺的地方,我的代码过于简单,虽然方便阅读但是在效率上还是不如这位同学。
PTA排名:
总结:
学习过程中引入了数组的概念,这极大地方便了我们的变成,可以让我们对输入的字符串精确到每个字符的操作,等等。将数组和循环结合起来也非常方便, 实用,应该在更多的细节上对自己的代码精益求精,对各种语法的使用熟记于心,数组也分为一维数组和多维数组,我目前对多维数组还不是很熟悉,需要加强了解。希望自己在以后学习中继续加油才能对得起老师的良苦用心。