话不多说,直接上代码,有疑问直接留言,包解决

// ConsoleApplication13.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "stdlib.h"
#define ElemType int
typedef struct LinkListNode
{
	ElemType data;
	struct LinkListNode * next; 
}LinkListNode,*PLinkListNode;
typedef struct LinkList
{
	PLinkListNode front;
}LinkList,*PQLinkList;
void test();
void findMaxAndLen(PLinkListNode node); //获取链表的最大值
void En_Link(PQLinkList L,int val);
PLinkListNode Init_Link(PQLinkList L);
int _tmain(int argc, _TCHAR* argv[])
{
	test();
	return 0;
}
int max,length=0,sum=0;
void test()
{
	LinkList L;
	PLinkListNode head =  Init_Link(&L);
	int data;
	scanf_s("%d",&data);
	while (data!=-1)
	{
		En_Link(&L,data);
		scanf_s("%d",&data);
	}
	findMaxAndLen(head->next);
	printf("最大值为:%d 链表的长度为:%d 所有整数的平均值为:%d",max,length,sum/length);
	
}
void findMaxAndLen(PLinkListNode node) //获取链表的最大值
{
	if(node->next!=NULL)
	{
		findMaxAndLen(node->next);
	}
	if(node->data>max)
	{
		max = node->data;
	}
	length++; //链表的总长度
	sum+=node->data;

}

void En_Link(PQLinkList L,int val)
{
	PLinkListNode newNode = (PLinkListNode)malloc(sizeof(LinkListNode));//创建一个新的节点
	L->front->next = newNode;
	newNode->data = val;
	newNode->next = NULL;
	L->front = newNode;
}
PLinkListNode Init_Link(PQLinkList L)
{
	L->front  = (PLinkListNode)malloc(sizeof(LinkListNode));//设置一个头节点
	L->front->next = NULL;
	return L->front;
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐