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();
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章