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;
    }

  • 相关阅读:
    json数据转化格式
    远程安装软件控制台
    杂、记忆点
    布局(杂,细节处理)
    自己修改代码后push推送到zhile
    js中call和apply的区别 / 函数的call、apply以及bind的作用与区别
    一元运算符a++、++a、a--、--a
    javascript基础语法和算术运算符
    不同空格符号的区别
    2020.12.11面试两家
  • 原文地址:https://www.cnblogs.com/lxzbky/p/10470223.html
Copyright © 2011-2022 走看看