函数题 6-6 求单链表结点的阶乘和

本题要求实现一个函数,求单链表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值。

你可能感兴趣的:(#,PTA基础编程题目集,PTA,c++,开发语言,算法,c语言)