本题要求实现一个函数,求单链表L
结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。
int FactorialSum( List L ){
int sum=0;
while(L){
int fac=1;
for(L->Data;L->Data>0;L->Data--)
fac=fac*L->Data;
sum=sum+fac;
L=L->Next;
}
return sum;
}
用sum保存最后的结点阶乘和,头结点指针L起到遍历链表的作用,只要L还未指向NULL,就计算阶乘值,并累加到sum中,最终返回sum值。