当前位置:   article > 正文

6-5 求单链表结点的阶乘和 (15分)_6-2 求单链表最大值 分数 6 作者 ds课程组 单位 临沂大学 本题要求实现一个函数,

6-2 求单链表最大值 分数 6 作者 ds课程组 单位 临沂大学 本题要求实现一个函数,

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

函数接口定义:

int FactorialSum( List L );

 

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

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

 

裁判测试程序样例:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct Node *PtrToNode;
  4. struct Node {
  5. int Data; /* 存储结点数据 */
  6. PtrToNode Next; /* 指向下一个结点的指针 */
  7. };
  8. typedef PtrToNode List; /* 定义单链表类型 */
  9. int FactorialSum( List L );
  10. int main()
  11. {
  12. int N, i;
  13. List L, p;
  14. scanf("%d", &N);
  15. L = NULL;
  16. for ( i=0; i<N; i++ ) {
  17. p = (List)malloc(sizeof(struct Node));
  18. scanf("%d", &p->Data);
  19. p->Next = L; L = p;
  20. }
  21. printf("%d\n", FactorialSum(L));
  22. return 0;
  23. }
  24. /* 你的代码将被嵌在这里 */

 

输入样例:

  1. 3
  2. 5 3 6

 

输出样例:

846

 

作者: 陈越

单位: 浙江大学

时间限制: 400 ms

内存限制: 64 MB

代码长度限制: 16 KB


编译器 (1)

  1. int FactorialSum( List L )
  2. {
  3. int i, s, sum = 0;
  4. while(L){
  5. // printf("%d\n", L->Data);
  6. s = 1;
  7. for(i=L->Data; i>1; i--){
  8. s = s * i;
  9. }
  10. sum += s;
  11. L = L->Next;
  12. }
  13. return sum;
  14. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/852776
推荐阅读
相关标签
  

闽ICP备14008679号