PTA之求单链表结点的阶乘和
2018-06-21 06:51:16来源:未知 阅读 ()
本题要求实现一个函数,求单链表L
结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int
范围内。
时间限制: 400ms内存限制: 64MB代码长度限制: 16KB
函数接口定义:
int FactorialSum( List L );
其中单链表List
的定义如下:
typedef struct Node *PtrToNode;
struct Node {
int Data; /* 存储结点数据 */
PtrToNode Next; /* 指向下一个结点的指针 */
};
typedef PtrToNode List; /* 定义单链表类型 */
裁判测试程序样例:
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef struct Node *PtrToNode; 5 struct Node { 6 int Data; /* 存储结点数据 */ 7 PtrToNode Next; /* 指向下一个结点的指针 */ 8 }; 9 typedef PtrToNode List; /* 定义单链表类型 */ 10 11 int FactorialSum( List L ); 12 13 int main() 14 { 15 int N, i; 16 List L, p; 17 18 scanf("%d", &N); 19 L = NULL; 20 for ( i=0; i<N; i++ ) { 21 p = (List)malloc(sizeof(struct Node)); 22 scanf("%d", &p->Data); 23 p->Next = L; L = p; 24 } 25 printf("%d\n", FactorialSum(L)); 26 return 0; 27 } 28 /* 你的代码将被嵌在这里 */
输入样例:
3
5 3 6
输出样例:
846
1 int FactorialSum( List L ) 2 { 3 List q=L; 4 int j,x,sum = 0; 5 while(q != NULL) 6 { 7 x=1; 8 for(j=2;j <= q->Data; j++) 9 x *= j; 10 sum+=x; 11 q = q->Next; 12 } 13 return sum; 14 }
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PTA 1002 A+B for Polynomials 2020-04-24
- 单链表 2020-03-31
- 判断一个非空单链表是否是递增有序的 2019-12-15
- 【SDUT】【链表】2120 - 数据结构实验之链表五:单链表的拆 2019-12-05
- 单链表基本操作的实现 2019-10-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash