针对中段测试的结果、新手赛的比赛情况,以及之前的课前预习、课中学习、和课后作业情况,回答如下问题:
1 目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。(5分)
薄弱的知识点是字符型数组的输入和访问,共用体数据的储存
字符型数组是通过上课听讲以及练习中涉及到的一些问题,通过网络查找相关知识获取的,共用体数据的储存是从书上获取的,没有相关题目
2 从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报告包括:(1)题目大意;(2)解题思路;(3)代码思路,比如画出流程图;(4)核心技术总结;(5)解题过程中存在的问题,以及如何得到解决的。(5分)
CPP练习7-2 数列求和加强版
(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)#include <iostream>
using namespace std;
int main()
{
int a,b,i;
cin>>a>>b;
if(b!=0)
{int x[b+1];
x[0]=0;
for(i=1;i<=b;i++)
x[i]=i*a;
for(i=0;i<b;i++)
{
int t=0;
t=x[b-i]/10;
x[b-i]=x[b-i]%10;
x[b-i-1]=x[b-i-1]+t;
}
if(x[0]!=0)
{
for(i=0;i<=b;i++)
cout<<x[i];
}
else for(i=1;i<=b;i++)
cout<<x[i];}
if(b==0) cout<<0;
return 0;
}
(4)数组遍历,和数组的应用
(5)没有意识到开始算法的庞大,而无法通过题目,后来想到先学的数组可以大大减少运算量和运算内存,节省运算时间