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排名:

 

 总结: 

学习过程中引入了数组的概念,这极大地方便了我们的变成,可以让我们对输入的字符串精确到每个字符的操作,等等。将数组和循环结合起来也非常方便, 实用,应该在更多的细节上对自己的代码精益求精,对各种语法的使用熟记于心,数组也分为一维数组和多维数组,我目前对多维数组还不是很熟悉,需要加强了解。希望自己在以后学习中继续加油才能对得起老师的良苦用心。

 

posted @ 2018-01-27 12:09  chenshuobin  阅读(145)  评论(0编辑  收藏  举报