循环、函数、数组作业
循环
一、PTA实验作业
题目1:7-2 求平方根序列前N项和
1.本题PTA提交列表2.设计思路
通过调用for语句,实行求和的循环。当定义的整数i(即最终循环次数)不满足条件时,跳出循环,输出最终所求和。
3.本题调试过程碰到问题及PTA提交列表情况说明。
第一次提交时造成多种错误,当时没有明白格式错误的含义。在审题过程中发现和的定义有误,应该改为double定义的双精度浮点数。
第二次提交时只剩下了格式的错误。之后通过再次审题发现了题目要求输出的等号两边都有空格,明白了错误所在。
题目2:7-5 找出最小值
1.本题PTA提交列表
2.设计思路
此题依旧可以用简单的for循环完成。且在for循环内部通过if判断语句来执行比较大小的功能。
当定义的整数i(即最终循环次数)不满足条件时(即循环次数大于输入数字的个数),结束循环,输出最小值。
3.本题调试过程碰到问题及PTA提交列表情况说明。
第一次提交遇到了编译错误的错误。
主要原因是因为没有事先在Dev上试着运行此代码,在判断语句中,将被判断的数直接赋值,导致比较大小功能没有实现。
题目3:7-32 求1到100的和
1.本题PTA提交列表
2.设计思路
此题则比较简单,即用循环语句实现100以内数相加之和。
3.本题调试过程碰到问题及PTA提交列表情况说明。
调试过程中发现了此错误。原因在于在运算sum时,没有给sum最初赋值为0,导致运算偏差造成答案错误。
二、同学代码结对互评
1.我的代码、互评同学代码截图
我的
熊金鑫同学的
2.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
熊金鑫同学的代码与我的代码不同之处在是否调用函数执行此程序。
我的代码优势在于结构比较简单,而熊金鑫同学的代码优势在于调用了函数编写,更加有参考借鉴的价值。
相比起来我更喜欢熊金鑫同学的代码,因为她调用了函数,显得更加简洁明了。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.你学会了什么?
(1)在本周循环专题的学习中,我主要学会了for循环语句与while循环语句的运用。
知道了for语句最基础的格式且用于控制循环次数。也知道了while循环语句中的表达式可以是任意合法表达式,且必须包含能最终改变循环条件真假性的操作。
(2)学会了判断一些PTA上的基本错误,如由于审题不认真所造成的格式错误。
2.本周的内容,你还不会什么?
在本周的教学内容中,我对复杂的多重循环还不太熟悉。无法很熟练地判断如何使用多重循环。且若加上多重分支的判断则更加使我混乱,无法缕清整体思路。
3.循环考试总结
(1)哪题做错了,怎么改?
其中,22题错误较多,也修改了多次。主要也是因为分支语句没有放对地方导致,且因为调用了函数而变得有些生疏。
(2)考试结果满意么,怎么改进?
考试结果不是很满意,我希望通过多多自己写代码提升自己的思路,从而提高自己的写代码能力。
函数
一、PTA实验作业
1.本题PTA提交列表
2.设计思路
通过调用计算阶乘的函数实现整体运算。在主函数中把n,m,n-m分别代入,求得最后的值。
3.本题调试过程碰到问题及PTA提交列表情况说明。
此题由于粗心大意,子函数里的表达式编写错误。导致了部分错误的情况。之后重新理清思绪写对了此题。
题目2:7-3 求幂之和
1.本题PTA提交列表
2.设计思路
通过调用有计算幂之和功能的函数来执行此程序。在主函数中带入n值,则实现程序最终的运行。
3.本题调试过程碰到问题及PTA提交列表情况说明。
在理解了调用函数的意义和具体执行方法后,并且在Dev上试运行调试,使这题只提交了一次就成功。
题目3: 7-41 判断数字字符
1.本题PTA提交列表
2.设计思路
此题通过调用有判断字符是否为数字功能的函数实现运算。将条件成立记作1,不成立记作0。在主函数中通过判断是否等于0决定最后输出结果。
3.本题调试过程碰到问题及PTA提交列表情况说明。
此题在调试过程中发现Dev上运行结果正确,但是在PTA上有两处错误。通过反复检查确定程序逻辑无误,而是因为输入字符时没有加‘&’导致。
二、同学代码结对互评
1.我的代码、互评同学代码截图
我的
熊金鑫同学的
2.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
熊金鑫同学的代码与我的代码不同之处在是否调用函数执行此程序。
我的代码优势在于调用了函数编写,更加有参考借鉴的价值。而熊金鑫同学的代码优势则是比较简便。
相比起来我更喜欢自己的代码,因为我调用了函数,达到了题目真正要求的目的。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.你学会了什么?
(1)在本周函数专题的学习中,我主要学会了函数的定义(如函数首部的构成、函数体),函数的调用过程,函数的调用形式,知道了主调函数与被调函数的意义,等等。
(2)学会了将很多以前学习过的题目通过调用函数的方式变得简洁明了。
2.本周的内容,你还不会什么?
在本周的教学内容中,我对一小部分较复杂的题目,虽然有设计思路,但是无法通过调用函数来执行程序。(如7-5,7-6)
3.考试总结
1)哪题做错了,怎么改?
其中,7-5错得比较多。多次编译错误,通过在Dev上的反复调试,和同学相互交流发现了编译错在何处。
(2)考试结果满意么,怎么改进?
考试结果不是很满意,因为做此套题时的时间比较紧。我希望通过多多自己写代码提升自己的思路,并且在每个代码都尽量使用函数编写。从而提高自己对运用函数的熟练度和写代码能力。
数组
一、PTA实验作业
题目1:7-22 求矩阵各行元素之和
1.本题PTA提交列表
2.设计思路
首先定义二维数组,用行下标做外循环变量,列下标做内循环变量,输入矩阵。再利用for循环语句来实现求矩阵各行元素之和的功能。
3.本题调试过程碰到问题及PTA提交列表情况说明
本题较基础,编写时也较认真。所以提交时没有导致错误。
题目2:7-12 选择法排序
1.本题PTA提交列表
2.设计思路
首先输入n个数,运用for循环将输入数依次赋给数组a的n个元素a[0]~a[n-1]。之后通过每个数与下一个数比较找出较小的数且变换位置。循环结束后输出n个数组元素的值。
3.本题调试过程碰到问题及PTA提交列表情况说明
此题错误在于当时没能很好的理解选择排序法的意思,大致方向正确,但思路不够清晰。之后自己画了流程图(如上图),缕清思路后就正确了。
题目3:7-10 矩阵运算
1.本题PTA提交列表
2.设计思路
首先定义二维数组,用行下标做外循环变量,列下标做内循环变量,输入矩阵。之后通过i+j=N-1定义矩阵的副对角线,作为且的判断条件决定是否进行求和运算。
3.本题调试过程碰到问题及PTA提交列表情况说明
此题提交时的错误是个很低级的错误,在于没有认真审题而导致。最后输出时只需输出数值而不用加前缀“sum=”。导致三个测试点全都显示答案错误。
二、同学代码结对互评
1.我的代码、互评同学代码截图
我的
熊金鑫同学的
2.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
熊金鑫同学的代码与我的代码不同之处在是否调用函数执行此程序。
我的代码优势在于结构比较简单,而熊金鑫同学的代码优势在于调用了函数编写,充分体现了冒泡的执行功能。更加有参考借鉴的价值。
相比起来我更喜欢熊金鑫同学的代码,因为她调用了函数,显得更加简洁明了。
三.截图本周题目集的PTA最后排名
四.本周学习总结
1.你学会了什么?
在本周数组专题的学习中,我主要学会了一些有关数组的基础知识。如数组定义的一般形式、数组的引用、数组的初始化等。也可以较熟练地使用数组编程。
2.本周的内容,你还不会什么?
在本周的教学内容中,我对字符串的运用还比较不熟悉。对strcpy、strcmp等的运用较不熟练。
3.循环考试总结
(1)哪题做错了,怎么改?
其中,12题错误较多,也修改了多次。在认真看书和理解题意了解了选择排序法的真正意义后正确提交。
(2)考试结果满意么,怎么改进?
考试结果相比上次比较满意,我希望通过多多自己写代码提升自己的思路,从而提高自己的写代码能力。