c语言不知道数据个数,求平均值(单链表方式)

本人初学乍到,欢迎提出各种意见

#include <stdio.h>
#include <conio.h>

typedef struct student
{
	float score;
	struct student *link;
}NODE;

void main()
{
	/*创建链表*/
	NODE *head,*p1,*p2,*p;
	int n = 0,i=0;
	int flag;/*标记是否继续输入,0为停止输入*/
	float average =0.00;
	
	p1=p2=(NODE *)malloc(sizeof(NODE));
	head = NULL;
	printf("Please input score:\n");
	scanf("%f",&p2->score);
	do
	{
		n++;
		if(n==1)
		{
			head = p1;
		}
		p1->link= p2;
		p1=p2;
		printf("Whether to continue(1.yes\t0.no):\n");
		scanf("%d",&flag);
		if(flag)
		{
			p2 =(NODE *)malloc(sizeof(NODE));
			printf("Please input score:\n");
			scanf("%f",&p2->score);
		}
	}while(flag != 0);
	p1->link = NULL;
	
	p=head;
	while(p!=NULL)
	{
		average+=p->score;
		p=p->link;
		i++;
	}
	printf("This is score:%.2f",average/i);
	getch();
}



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值