输入6学生的数据为什么输出时只有5个的?
格式:
姓名 学号 成绩1 成绩2
...
...
#include <stdio.h>
#include <stdlib.h>
#define N struct student
#define S sizeof(N)
struct student
{
char name[15];
int num;
float yuwen;
float math;
N *next;
};
N *hilo(N *head);
N *find(N *p1,N *head);
void main()
{
int i,n=0;
int num;
N *p1,*p2,*head;
p1=p2=(N*)malloc(S);
scanf("%s",p1->name);
getchar();
scanf("%d",&p1->num);
getchar();
scanf("%f",&p1->yuwen);
getchar();
scanf("%f",&p1->math);
head=NULL;
for(i=1;i<6;i++)
{
n++;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(N*)malloc(S);
scanf("%s",p1->name);
getchar();
scanf("%d",&p1->num);
getchar();
scanf("%f",&p1->yuwen);
getchar();
scanf("%f",&p1->math);
}
p2->next=0;
p1=head;
while(p1!=0)
{
printf("%s %d %0.1f %0.1f\n",p1->name,p1->num,p1->yuwen,p1->math);
p1=p1->next;
}
}