数组

一.PTA实验作业

题目一.7-1 数组元素循环右移问题

1.本题PTA提交列表

2.设计思路

使用数组去储存一个数列,进而再用数组的性质去完成题目要求。

本题做了挺长时间的,刚开始一直想用一个循环去完成右移,不管怎么样都不对。

后来再想了想,用两个循环来实现右移会比较容易。

使用内循环完成右移一次,再用外循环来实现题目所要求的循环右移n次。

而且在内循环中,使用递减比累加更加容易,用item接受a[n-1]的值,在内循环结束的时候将item的值赋给新组成数组的a[0]。

3.本题调试过程碰到问题及PTA提交列表情况说明。

(1).段错误。

刚开始一直不知道错在了哪里。后来经过搜索知道段错误一般就是给系统预留的空间不够题目所要求的储存空间的大小。

刚开始定义了整型数组a[10],后来改成a[100]就正确了。

其实在后来学了动态分配空间之后,如果使用动态分配空间就不会有这样的问题了。

(2).在题目完成后,我想试试在内循环中如何用累加的方式而不是递减的方式去实现右移一次,发现很麻烦而且答案错误,最终还是采用了递减的方式。

4.代码截图。

题目二.7-4 查找整数

1. 本题PTA提交列表

2. 设计思路

使用数组储存N个整数,再在数组中使用for循环寻找与x相等的数,如果找到就输出其在数组中的下标i,然后退出循环。

如果没找到就输出"Not Found"。

3.本题调试过程碰到问题及PTA提交列表情况说明。

本题出没有太大的错误,有些小错误在Dev上调试过之后直接复制在PTA上了。

在画流程图的时候发现在代码中定义的flag可以省去,在找到x的值的时候直接输出下标然后退出循环,如果没找到,i的值一直进行累加,当累加到n的时候直接输出"Not Found",就无需flag的存在了,代码也会很简洁一点。

4.代码截图。

题目三.7-10 矩阵运算

1.本题PTA提交列表

2. 设计思路

 本题使用了二维数组,这是数组应用中最重要的一部分。

使用二维数组去输入一个n阶矩阵,在使用数组的性质,进而使用for循环进行计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和,累加在sum中,最后输出sum的值。

3.本题调试过程碰到问题及PTA提交列表情况说明。

 (1)break使用错误。

第一次使用了if语句去判断是否为副对角线元素,如果是就退出循环,这就导致了答案错误。

后来经过与同学讨论没有使用break语句,使用if语句,如果累加到副对角线元素则sum的值不变,即语句sum=sum。答案正确。

4.代码截图。

 

二、同学代码结对互评

1.互评同学:王慧婷

2.我的代码、互评同学代码截图

王慧婷同学的代码:

我的代码:

3.我和王慧婷同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?

不同在于:王慧婷同学代码是将矩阵除最后一列和最后一行以外的所有元素累加起来,再减去副对角线上的元素。

而我的代码是分类累加起来。

各自优势:王慧婷同学的代码用了另一种思路将代码更加简洁一些。

我更喜欢王慧婷同学的代码。

三、截图本周题目集的PTA最后排名。

 

四、本周学习总结(2分)

1.我学会了简单的数组去编写程序,还掌握了一些二维数组的使用。

2.本周的内容,你还不会什么?

如果是较为简单的二维数组程序我还可以较好的完成,稍加一些难度的二维数组完成的时候就很困难。

还有很多题目不会:7-5,7-7,7-8,7-9,7-11,7-13,7-15,7-16,7-17,7-19,7-20,7-23,7-24,7-25,7-27,7-28,7-29,7-30

3.数组考试总结

(1).哪题做错了,怎么改?

7-17这道题是部分错误。

具体的原因还不知道。准备再多问几个同学或者老师看看如何修改。

(2).考试结果满意么,怎么改进?

不满意,有很多题目没做,希望自己有时间去做一做。

 

posted @ 2017-12-28 18:32  Doriso  阅读(251)  评论(0编辑  收藏  举报