第二次博客作业

1.学习中发现的薄弱点

1)对于函数中的调用这一块比较薄弱,了解的不细致,导致在实际操作中不太熟练,不太清楚它们之间的差别,以及什么时候该用哪种调用。

2)在新手赛以及平时的PTA练习中,有些题目很好理解,但是在编程的过程中很容易混乱,以至于写不出完整的代码,在看别人的代码的时候,其实也是看得懂的。

3)对于课本上很多的理论性知识掌握的都不透彻,例如各种变量之间的区别,以及它们的作用域。

4)数组方面,一维数组基本掌握得还可以,但是对于各种排序方法还是没办法完全熟练,而且数组作为函数参数这一方面,里面包含的各种函数还是不太熟练,做题的时候还是离不开课本。

2.觉得比较有挑战的题:PTA练习7的数列求和-加强版

1)题目大意:给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。

2)解题思路:刚开始解题的时候,题目很容易就了解了,但是对于怎么设计一个代码完全没有头绪,后来在纸上写写画画,看出了一些端倪,便由此写出了大致的代码,最后是看书和请教同学得出最终的答案的。

3)代码思路:首先时当N=0时,数列的和恒等于=0;当N=1时,数列的和等于A;其它的情况下,拿上图当例子来说,当A=9,N=4时,个位上等于A*N=4*9=36,这时候我们知道个位上的数为6,那么我们可以将36除以10取余,便可以得到6,即为a,且向十位进了3,我们可以将36除以10取整,便可以得到3,即为b,如此反复循环,直到i=N,将a数组中的所有元素列出来,即为我们所求的数列的和。

4)核心技术总结:要将所有可能出现的情况列出来,即N=0;N=1这两种比较特殊的情况,要模拟手算来进行进位,纵着相加。

5)在解题的过程中,一开始没想到能用数组去做,想的是一个很复杂很蠢的方法,局限了我的思路。

 

posted @ 2018-12-09 01:58  苦瓜冰  阅读(111)  评论(0编辑  收藏  举报