代码改变世界

数组

2017-12-29 18:57  信管1712王文琪  阅读(173)  评论(0编辑  收藏  举报

PTA实验作业

1..题目7.2求最大值及其下标

(1).本题pta提交列表

(2).设计思路

本题要求找出一组数中最大值并且把它的位置输出,要求我们要把每个数的顺序及其这些数保存下来,所以我们建立一个数组把这些数保存下来,然后用forffor循环遍历每一个数,直到找出最大值并输出其下标

 

(3).本题提交过程中碰到的问题及pta提交列表情况说明

第一次答案错误是因为我假设a[0]是最大的,下面循环应该从a[1]开始,而我没注意到这个细节,写成从a[0]开始,所以造成了答案错误。后来的多种错误,也是因为自己改了这个错误不小心又动了其他地方。这个题目很基础,自己细心的话,应该很快就可以解决。

2.题目7-6冒泡法排序

(1)本题的pta提交列表

(2)设计思路

该题要求用冒泡法把一组数按照从小到大的顺序排列,并且把排序过一定次数后的数的排列输出。首先定义i,j来分别代表内外两层循环,外层从i=1开始,到i=T结束,内层从j=1,开始到j=n-i结束,比较数组中相邻两个元素a[j],a[j+1],如果a[j]>a[j+1],就替换否则就不用换。最后再输出循环终止时数组的排列

(3)本题调试过程中遇到的问题及pta提交列表情况说明

本题 是基础的冒泡法排序的应用,第一次答案错误是没有注意到题目要求输出 的格式,行末不得有多余空格

3.题目7-17判断上三角矩阵

(1)本题的pta提交列表

(2)设计思路

该题是先输入几个矩阵,然后判断是否是上三角矩阵,最后依次输出结果yes,no。应该再定义一个数组b[]来保存判断的结果,k=1,k<T输入一个矩阵后,就定义i,j,for(i=1,i<n;j=0,j<i,如果a[i][j]!=0,b[k]=0,否则b[k]=1;最后for(k=1;k<=T;k++) if(b[k]==0),printf("yes"),else printf("no")

 (3)本题调试过程中碰到的问题以及pta提交列表情况说明

刚开始使用子函数来判断是否是上三角矩阵,可是总是形参不能与实参相对应,后来经同学启发建立一个数组来保存判断的结果

二.截图本周题目集的pta最后排名

 三.同学代码互评

1.互评同学名称

林萍

2.我的代码,同学的代码截图

 

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请指出哪里出问题?

 (1)我的代码是直接移动整个方阵各个元素,不加讨论,而同学的代码是分部讨论,先讨论可以直接右移,然后再移动其他的元素

(2)我的代码优势在于简洁,而同学的代码更易懂

(3)我更喜欢我的代码风格

四.本周学习总结

 1.我学会了什么?

学会了建立数组来保存一组数据,并且以数组形式来解决循环问题

2.我还不会什么?

数组与子函数和在一起运用