代码改变世界

PTA数组作业

2018-01-22 12:11  西柚yu  阅读(1029)  评论(0编辑  收藏  举报

一、PTA实验作业

1.

(1)

最终代码

(2)算法描述

从键盘上输入n个数,用变量m来存放当前已经比较过的个数最大者,开始是设m的值为a[0],m的值与a[1]比较,若a[1]>m,就以a[1]代替原有的值m,输出下标,依此类推,直至比较完最后一个,输出m,j。

 

 (3)

原先未定义函数max的时候,for循环下的语句比较复杂,定义函数达到语句简单化;if后面的判断语句原先使用10,还需要另外定义一个flag,不是很简便。

2.

(1)

最终代码

(2)算法描述

从键盘上输入n个数,依次将xa[0]a[n-1]比较,如果x=a[i],则输出a[i],退出循环,结束程序;如果结束for循环之后,即i>=n,输出Not Found

 (3)问题分析

程序的最后一步要求找不到与x相等的a[i]时程序输出not found,苦于不知道如何表示,不知道该将not found放在哪里,后来回想判断是否是素数程序的写法,找到突破。

3.

(1)

最终程序

(2)算法描述

n个数一共比较k次,第j趟中进行n-i-1次比较,如果a[j]>a[j+1],则将a[j],a[j+1]进行交换,后输出a[i]a[n-1]。

(3)问题分析

第一个for循环变为i<=k,导致循环出错;if中将a[j]写成a[i],导致运行结果一直与输入时相同,后来发现i只到k-1为止,不对,故将i改为j,运行正确。

二、同学互评代码

我的代码                                                                                      同学代码(牛磊)

我的代码中采用了一个函数来比较两个数的大小,而同学代码是直接用直接在for循环中进行比较,较之于同学代码使代码简单化;同学代码是进行判断之后得出最大值a[i],我是用两个变量mj存储最大值还有下标,较之于同学代码认为我这样程序比较简便。

三、PTA截图

四、总结

熟练掌握了数组的定义,初始化,以及数组在函数中的运用。