pta题解
习题2.6 递归求简单交错幂级数的部分和 (15分)
做递归题,我们首先肯定要先考虑它的边界,什么时候停下来,就是当n=1或者n=0的时候就返回x,然后做这种题就慢慢推,比如把n等于2带进去推,就能得到递归式
double fn( double x, int n )
{
if(n<=1)
return x;
else
return x-x*fn(x,n-1);
}
习题3.3 线性表元素的区间删除 (20分)
遍历,用rear来标记,如果满足条件的,就存放到rear的位置上,然后rear++,就相当于之间覆盖上去,不去做删除操作,就之间覆盖,这样方便很多
List Delete( List L, ElementType minD, ElementType maxD )
{
Position rear=0,i;
int cut=0;
for(i=0;i<=L->Last;i++)
{
if(L->Data[i]<=minD || L->Data[i]>=maxD)
{
L->Data[rear]=L->Data[i];
rear++;
cut++;
}
}
L->Last=cut-1;
return L;
}