三国无名氏:求助!帮忙!!关于C语言!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 11:11:10
#include<stdio.h>
#include<alloc.h>
#define TYPE struct stu
#define LEN sizeof(struct stu)
#define NULL 0
struct stu
{
int num;
char name[10];
int term;
int score[4];
float avr;
int sort;
struct stu *next;
}a[3];
TYPE*creat(int n)
{
struct stu *head,*pf,*pb;
int i,j,s;
for(i=0;i<n;i++)
{
pb=(TYPE*)malloc(LEN);
printf("input Number and score\n");
scanf("%d%d",&pb->num,&pb->score);
if(i==0)
pf=head=pb;
else
{
pf->next=pb;
for(j=0;j<4;j++)
{
s=0;
s+=pb->score[j];
pb->avr=(float)s/4;
}
pb->next=NULL;
pf=pb;
}
return(head);
}
void sort(struct stu a[3])
{
int i,j;
struct student change;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(a[i].avr<a[j].avr)
{
chang=a[i];
a[i]=a[j];
a[j]=chang;
}
a[i]=++i;
}
output(a);
}
void seach(TYPE*head,int n1)
{
TYPE*p:p=head;
while(p->num!=n1&&p->next!=NULL)
p=p->next;
if(p->num==n1)printf("%6d%8d\n",p->num,p->score);
if(p->num!=n1&&p->next==NULL)
print("Num %d has not been found!\n",n1);
}
TYPE*dele(TYPE*head,int num)
{
TYPE*p2,p1;
if(head= =NULL)
{
printf("\n empty list!\n");
return head;
}
p1=head;
while(p1->num!=num&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(p1->num= =num)
{
if(p1= =head)
head=p1->next;
else
p1->next=p1->next;
free(p1);
printf("The node is deleted\n");
}
else
printf("The node not been foud!\n");
return head;
}
TYPE*insert(TYPE*head,TYPE*pi)
{
TYPE*pf,*pb;
pb=head;
if(head= =NULL)
{
head+pi;
pi->next=NULL;
}
else
{
while((pi->um>pb->num)&&(pb-*>next!=NULL))
{
pf=pb;
pb=pb->next;
}
if(pi->num<=pb->num)
{
if(head= =pb) head=pi;
else pf->next=pi;
pi->next=pb;
}
else
{
pb->next=pi;
pi->next=NULL;
}
}
return head;
}
void print(TYPE * head)
{
printf("nunmer\tscore\n");
while(head!=NULL)
{
printf("%d\t%s\t%d\t%f\t%f\t%d\n",head-)num,head->name[10],head->term,head->score,head->score,head->avr,head->sort);
head=head->next;
}
}
main()
{
int n,num;
TYPE*head,*pnum;
printf("input number of node:");
scanf("%d",&n);
head=creat(n);
print(head);
sort(struct stu a[3]);
printf("Input the search num:");
scanf("%d",&num);
search(head,num);
printf("Input the deled number:");
scanf("%d",&num);
print(head);
printf("Input the inserted and score:");
pnum=(TYPE*)malloc(LEN);
scanf("%d%d",&pnum->num,&pnum->score:");
head=insert(head,pnum);
print(head);
}


有错误!!

你把错误提示,写出来看看

是问有什么错误导致无法编译运行吗?