#include
#include
#include
struct score
{
int sno;
int cno;
int score;
};
struct Node_sc
{
score data;
Node_sc next;
};
Node_sc *create(int n);
void fileOutput(Node_sc *phead);
void traversal(Node_sc phead);
int main()
{
int n;
printf ("输入数据个数:");
scanf ("%d",&n);
printf("\n");
Node_sc* phead=create(n);
fileOutput(phead);
traversal(phead);
return 0;
}
Node_sc create(int n)
{
Node_sc *pnew;
Node_sc *phead;
Node_sc *ptail;
for (int i=0;i<n;i++)
{
pnew=(Node_sc)malloc(sizeof(Node_sc));
printf("学号:");scanf ("%d",&pnew->data.sno);
fflush (stdin);
printf ("课程号:");scanf("%d",&pnew->data.cno);
printf ("成绩:");scanf ("%d",&pnew->data.score);
pnew->next=NULL;
if (i==0)
{
phead=pnew;
ptail=pnew;
}
else
{
ptail->next=pnew;
ptail=ptail->next;
}
}
return phead;
}
void fileOutput(Node_sc *phead)
{
Node_sc *p=phead;
FILE *fp1;
fp1=fopen("studentscore.dat","wb");
if(fp1==NULL)
{
printf("文件无法打开!\n");
exit(1);
}
else
{
while(p!=NULL)
{
fwrite(p,sizeof(score),1,fp1);
p=p->next;
}
fclose(fp1);
}
}
void traversal(Node_sc* phead)
{
Node_sc *p;
p=phead;
while(p!=NULL)
{
printf ("学号:%d 课程号:%d 成绩:%d\n",p->data.sno,p->data.cno,p->data.score);
p=p->next;
}
}
对于这样一个程序,我要怎么编写一个自定义函数求平均分不及格的学生数据呢?