老师超没人道!!一题决定全班同学的命,做不出来,下学期补考,每人要交50。。全班就。。。。。。不堪设想。。。学校剥削学生啊~~~~请大侠救命帮帮忙!!
==================================================================
由于写得仓促,很多地方只写了关键,细节方面自己修改一下!
没有写主函数,自己加上去吧!至于排序,我想着就不要我说了吧。
原样示肯定不能编译的,必须自己在改一下.
==================================================================
#include #include #include #define N 10
typedef struct node { long int num; char name[20]; char sex; float english; float maths; float sheji; float sum; float ave; struct node *llink,*rlink; }stud;
stud * creat(int n) { stud *p,*h,*s; int i; if((h=(stud *)malloc(sizeof(stud)))==NULL) { printf("不能分配内存空间!"); exit(0); } h->name[0]='\0'; h->llink=NULL; h->rlink=NULL; p=h; for(i=0;i〈n;i++) { if((s= (stud *) malloc(sizeof(stud)))==NULL) { printf("不能分配内存空间!"); exit(0); } p-〉rlink=s; printf("请输入第%d个人的学号",i+1); scanf("%l",s->num); printf("请输入第%d个人的姓名",i+1); scanf("%s",s->name); printf("请输入第%d个人的性别",i+1); scanf("%c",s->sex); printf("请输入第%d个人的英语成绩",i+1); scanf("%f",s->english); printf("请输入第%d个人的数学成绩",i+1); scanf("%f",s->maths); printf("请输入第%d个人的程序设计成绩",i+1); scanf("%f",s->sheji); *(s->sun)=*(s->english)+*(s->maths)+*(s->daolun); *(s->ave)=*(s->sum)/3; s->llink=p; s->rlink=NULL; p=s; } h->llink=s; p->rlink=h; return(h); }
void print(stud *h) { int n; stud *p; p=h->rlink; printf("数据信息为:\n"); while(p!=h) { printf("%l \t",*(p->num)); printf("%s \t",&*(p->name)); printf("%c \t",*(p->sex)); printf("%f \t",*(p->english)); printf("%f \t",*(p->maths)); printf("%f \t",*(p->sheji)); printf("%f \t",*(p->sum)); printf("%f \t",*(p->ave)); p=p->rlink; printf("\n"); } }
-----------------------------------------------
QQ:183961785 欢迎讨论!
[此贴子已经被作者于2004-06-14 22:19:43编辑过]