第二次博客作业
1 目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。
答:存在的薄弱的知识点有指针和数组。每个薄弱的知识点都是通过看书和问同学而获得的。薄弱的知识点如练习10中的7-2,用指针方法找出字符串中最长的单词,我便不太熟练,后来通过一些数学方法而做出来。还有练习7中的7-2 数列求和-加强版,通过数组来大数求和方面的知识还不太熟练。
2 从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报告包括:(1)题目大意;(2)解题思路;(3)代码思路,比如画出流程图;(4)核心技术总结;(5)解题过程中存在的问题,以及如何得到解决的。
(1)题目大意:练习7中的7-2 数列求和-加强版,给定某数字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)代码思路:1.通过除以10或求余等方法来求出和的每位上的数。
2.设一个数组,将和的每个位数上的数赋值与数组中的元素。
3.将数组中的元素一位一位的输出。
(4)核心技术总结:通过除以10或求余等方法来求出和的每位数上的数,并赋值给数组中的元素。
(5)解题过程中存在的问题,以及如何得到解决的:开始时不会通过数组来求和,后来通过上网查资料逐渐解决这个问题。