zoukankan      html  css  js  c++  java
  • 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;
    }

  • 相关阅读:
    占位 CP
    占位 LR
    占位 DL
    占位 SC
    Your name ?
    占位 RK
    Gson 关于SpringMVC和json格式问题
    JDBC
    Outlook2016 2019修改默认存储路径文件夹
    Windows Server 2016 任务管理器没有了远程控制 远程桌面,能够控制其它远程用户的会话
  • 原文地址:https://www.cnblogs.com/lxzbky/p/10470223.html
Copyright © 2011-2022 走看看