数组实验报告

一、PTA实验作业

题目1:7-10 矩阵运算

1. 本题PTA提交列表

2. 设计思路(包括流程图)

定义N,i=0,j=0,sum=0,二维数组a[i][j]。通过循环限制i,j<n-1除去最后一行和最后一列的元素,通过判断i+j是否等于n-1除去副对角线的元素 ,所有剩余的元素相加即为题目所求。

流程图如下

3.代码截图

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

前两次提交部分正确是因为漏看了题目要求除去副对角线上的元素,通过思考,第一次填写的限制条件是i+j!=n,仍然错误。经过思考,得出限制条件应该是i+j!=n-1。

题目2:7-20 输出GPLT

1. 本题PTA提交列表

2. 设计思路(包括流程图)

通过利用while循环+switch函数统计G,P,L,T所出现的次数。再利用一个while循环,按照GPLT的顺序输出,每输出一个字母就减去对应的字母出现的次数一次,最后通过判断GPLT的出现次数都为0的时候,退出循环,得出答案。

流程图如下

 3.代码截图

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

第一次部分正确是因为出现了运行时错误,通过扩大字符串ch长度,从ch[10000]换成ch[10010]解决问题。

题目3:7-30 A-B

1. 本题PTA提交列表

2. 设计思路(包括流程图)

题目要求的A-B换种说法就是输出A所有字符中除去B中所含的字符,所以我定义两个字符串,通过循环将ch1中的字符依次与B中的字符进行比较,若全不相同就输出,若有相同就进行下一字符的对比。以此类推。

流程图如下

3.代码截图

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

同第二题一样出现运行时错误,扩大ch1,ch2解决问题。

二、同学代码结对互评

1.同学互评照片

我的代码如下                                

谢晔晖同学的代码

不同点1:输入字符串方法不同

我的方法是用gets函数直接将字符串输入,这样代码的简练度较高。而晔晖是利用循环,一个字符一个字符的输入。

不同点2:对GPLT个数的统计

我的方法使用switch函数统计,晔晖使用循环+if判断统计。代码简练程度没有太大区别,但我认为switch函数来统计个数更清晰点。

相同点1:输出方法类似。

我更加喜欢自己的代码风格。

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

四、本周学习总结

1.你学会了什么?

(1)学会了一维数组和二维数组的应用,并且能与子函数和指针结合运用。

(2)gets,puts,strcmp,strcpy,strlen,strcat字符串操作函数的应用,并且能写出函数原型。

gets(ch1)//输入字符串ch1

puts(ch2)//输出字符串ch1

strcmp(ch1,ch2)//字符串比较(不是比较字符串长度,而是逐个比较字符串ch1和ch2中的对应字符,知道对应字符不等或者比较到字符串尾,若相等返回值为0,若不相等返回值为不相等字符的差值)

strcpy(ch1,ch2)//把字符串ch2复制到ch1中

strcat(ch1,ch2)//把字符串ch2连接到ch1

strlen(ch1)//求字符串ch1的长度

(3)字符串的结束符'\0'(在用gets函数中,回车后自动在字符串尾生成\0')

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

长时间思考后仍然没有思路。

posted on 2017-12-28 12:10  liangyuhang  阅读(4943)  评论(0编辑  收藏  举报