77.对单项链表节点数据为偶数进行累加

原创 2015年07月07日 22:49:39

建立一个带头节点的单项链表,并用随机函数为各节点赋值,函数fun的功能是:将单项链表节点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdio.h>
typedef struct aa
{
	int data;
	struct aa *next;
}NODE;
int fun(NODE *h)
{
	int sum = 0;
	NODE *p;
	p = h->next;
	while (p)
	{
		if (p->data % 2 == 0)
			sum += p->data;
		p = p->next;
	}
	return sum;
}
NODE *creatlink(int n)
{
	NODE *h,*p, *s;
	int i;
	h = p = (NODE*)malloc(sizeof(NODE));
	p->next = NULL;
	for (i = 1;i <= n;i++)
	{
		s = (NODE *)malloc(sizeof(NODE));
		s->data = rand() % 16;
		s->next = p->next;
		p->next = s;
		p= p->next;
	}

	p->next = NULL;
	return h;
}
outlink(NODE *h, FILE *pf)
{
	NODE *p;
	p = h->next;
	fprintf(pf, "\n\nThe List :\n\n Head ");
	while (p)
	{
		fprintf(pf, "->%d", p->data);
		p = p->next;
	}
	fprintf(pf, "\n\n");
}
outresult(int s, FILE *pf)
{
	fprintf(pf, "\nThe aum of even number  :  %d\n", s);
}
int main()
{
	NODE *head;
	int even;
	head = creatlink(12);
	head->data = 9000;
	outlink(head, stdout);
	even = fun(head);
	printf("\nThe result :\n");
	outresult(even, stdout);
	system("pause");
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java中单项链表实现方法:增加、删除、插入数据

本文转自http://www.bianceng.cn/Programming/sjjg/201407/42457.htm,作者不详。 java的API里面已经提供了单向链表的类,大家可以直接拿来用...

数据结构之单项链表

//节点类的创建//#ifndef NODE_H_#define NODE_H_#include #include template class LinkList;templateclass Node...

单项链表和双向环链表

  • 2011-03-27 18:57
  • 12KB
  • 下载

通过交换分区的方式将数据以累加的形式添加到分区表中

有个模型:一张非分区表,一个分区表,现在需要不通过insert的方式,将数据添加到分区表中。 http://blog.csdn.net/tianlesoftware/article/de...

单项链表得操作

初学者单项链表借鉴

关于c语言编写 单项链表 的创建、插入、修改、删除、显示、退出 的程序案例

#include #include #define OK 1 #define ERROR -1 /*******************定义节点结构*****************/ type...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)