• PAT基础6-6


    6-6 求单链表结点的阶乘和 (15 分)

    本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。

    函数接口定义:

    int FactorialSum( List L );
    

    其中单链表List的定义如下:

    typedef struct Node *PtrToNode;
    struct Node {
        int Data; /* 存储结点数据 */
        PtrToNode Next; /* 指向下一个结点的指针 */
    };
    typedef PtrToNode List; /* 定义单链表类型 */
    

    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct Node *PtrToNode;
    struct Node {
        int Data; /* 存储结点数据 */
        PtrToNode Next; /* 指向下一个结点的指针 */
    };
    typedef PtrToNode List; /* 定义单链表类型 */
    
    int FactorialSum( List L );
    
    int main()
    {
        int N, i;
        List L, p;
    
        scanf("%d", &N);
        L = NULL;
        for ( i=0; i<N; i++ ) {
            p = (List)malloc(sizeof(struct Node));
            scanf("%d", &p->Data);
            p->Next = L;  L = p;
        }
        printf("%d
    ", FactorialSum(L));
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    3
    5 3 6
    

    输出样例:

    846

    int FactorialSum( List L )
    {
        int s=0,d,a;
        while(L)
        {
            d=L->Data;
            a=1;
            for(int i=1;i<=d;i++)
            {
                a*=i;
            }
            s+=a;
            L=L->Next;
        }
        return s;
    }

  • 相关阅读:
    ASP.NET 分页数据源:: PagedDataSource //可分页数据源
    strtok
    FloydWarshall算法详解(转)
    Tom Clancy's Splinter Cell: Double Agent
    暴雪COO确认:星际争霸2.0要来了
    wxWidgets 2.8.0 released
    如饥似渴
    大乘法器遇见小乘法器
    GLEW 1.3.5 adds OpenGL 2.1 and NVIDIA G80 extensions
    DevIL真是好用得想哭
  • 原文地址:https://www.cnblogs.com/lxzbky/p/10470223.html
Copyright © 2020-2023  润新知