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后面的判断语句原先使用1或0,还需要另外定义一个flag,不是很简便。
2.
(1)
最终代码
(2)算法描述
从键盘上输入n个数,依次将x与a[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],我是用两个变量m,j存储最大值还有下标,较之于同学代码认为我这样程序比较简便。
三、PTA截图
四、总结
熟练掌握了数组的定义,初始化,以及数组在函数中的运用。