已知单链表的结点结构定义如下:
typedef struct _NODE_
{
int data;
struct _NODE_ *next;
} NODE;
说明:data 为数据域。next 为指针域,指示后继结点。
请编写函数,求带附加头结点的单链表全部数据元素的总和。
函数原型
int Sum(NODE *head);
说明:参数 head 为单链表的头指针。函数值为单链表全部数据元素的总和。
裁判程序
int main()
{
NODE *h;
Create(&h);
Input(h);
printf("%d\n", Sum(h));
Destroy(&h);
return 0;
}
说明:Create 函数用于创建链表,Destroy 函数用于销毁链表。Input 函数用于输入链表:首先输入结点数,然后输入这些数据元素。
输入样例1
4
25 36 49 64
输出样例1
174
int Sum(NODE *head);
int Sum(NODE *head)
{
NODE *p=head->next;
int s=0;
while(p!=NULL)
{
int a=p->data;
s=s+a;
p=p->next;
}
return s;
}