C语言程序设计教程答案(北邮版)杨路明 郭浩志(7)

2019-03-28 13:50

{ char sid[15]; char name[15]; TP score; struct students *next; }student;

student *input()

{ student *head,*p1,*p2; int n=0; char ch; clrscr(); head=(student *)malloc(F);head->next=NULL; do { n++; printf(\ \\n\\n\ printf(\ \ p1=(student *)malloc(F);p1->next=NULL; scanf(\ printf(\ \ scanf(\ printf(\ \ scanf(\ p1->score.all=p1->score.english+p1->score.math+p1->score.c_language; if(n==1) { head->next=p1;p2=p1; } else { p2->next=p1; p2=p1; } printf(\ \ ch=getch();

}while(ch=='y'||ch=='Y'); return head; }

void average1(student *head) { student *p; int j; clrscr(); p=head->next; while(p) { j=p->score.all/3; printf(\ %s\\taverage: %d\ p=p->next; } printf(\ getch(); }

31

void average2(student *head) { student *p;int n=0,temp1=0,temp2=0,temp3=0; p=head->next; while(p) { temp1+=p->score.english; temp2+=p->score.math; temp3+=p->score.c_language; p=p->next;n++; } printf(\english is : %d\\naverage math is : %d\\t\}

student *sort(student *head)

{ student *head1,*p,*q,*r; int temp1=0,temp2=0,temp3=0,temp4; head1=head; for(p=head1->next;p->next!=NULL;p=p->next) { r=p; for(q=p->next;q;q=q->next) if(q->score.all>r->score.all) r=q; if(r!=p) { strcpy(s,p->sid);strcpy(n,p->name); temp1=p->score.english; temp2=p->score.math; temp3=p->score.c_language; temp4=p->score.all; strcpy(p->sid,r->sid);strcpy(p->name,r->name); p->score.english=r->score.english; p->score.math=r->score.math; p->score.c_language=r->score.c_language; p->score.all=r->score.all; strcpy(r->sid,s);strcpy(r->name,n); r->score.english=temp1; r->score.math=temp2; r->score.c_language=temp3; r->score.all=temp4; } } return head1; }

void output(student *head) { student *head2,*p;int i=1; clrscr();

32

is : %d\\naverage char s[15],n[15]; c_language

head2=sort(head); for(p=head2->next;p!=NULL;p=p->next)

printf(\->sid,p->score.english,p->score.math,p->score.c_language,p->score.all/3,i++); average2(head);

printf(\ getch(); }

void main()

{ student *head,*p1,*p2; int i=0,j=1; head=input(); do { clrscr(); printf(\ average1.\\n\\n(2): average2.\\n\\n(3): sort.\\n\\n(4): output.\\n\\n\\n choose: \ scanf(\ switch(i) { case 1: average1(head); break; case 2: clrscr();average2(head); printf(\ case 3: clrscr();p1=sort(head); for(p2=p1->next;p2!=NULL;p2=p2->next)

printf(\ case 4: output(head); break; default: printf(\ } }while(i!=-1); } 4、

#include #include #define NULL 0

#define F sizeof(worker) typedef struct work { char sid[15]; char name[15]; int money; struct work *next; }worker;

int min=0,max=0; char a[15],b[15]; worker *input()

{ worker *head,*p,*q;int n=0; char ch;

33

Please

head=(worker *)malloc(F); head->next=0; do { n++; p=(worker *)malloc(F); p->next=0; printf(\ \ printf(\ \ printf(\ \ printf(\ \ if(n==1) { head->next=p; q=p; max=p->money;strcpy(a,p->name); min=p->money;strcpy(b,p->name); } else { q->next=p; if(p->money>max) {max=p->money;strcpy(a,p->name);} if(p->moneymoney;strcpy(b,p->name);} q=p; } printf(\ }while(ch=='y'||ch=='Y'); return head; }

void output() { clrscr(); printf(\ %d\\t\\tname is: %s\\n\\n\ printf(\ %d\\t\\tname is: %s\}

void main() { input(); output(); getch(); }

5、6、

#include\#define F sizeof(stu) #define NULL 0 typedef struct student { int sid; int average; struct student *next; }stu;stu *head;

34

stu *create() { stu *p1,*p2; int n=0; char ch; head=(stu *)malloc(F);head->next=NULL; do { n++; printf(\ \\n\\n\ printf(\ \ p1=(stu *)malloc(F);p1->next=NULL; scanf(\ printf(\ \ scanf(\ if(n==1) { head->next=p1;p2=p1; } else { p2->next=p1; p2=p1; } printf(\ \ ch=getch();

}while(ch=='y'||ch=='Y'); return head; }

stu *select(stu *head,int x) { stu *s; s=head->next; while(s) { if(s->sid==x) break; s=s->next; } return s; }

stu *insert(stu *head,int x,int y) { stu *p,*r,*q; clrscr(); p=head->next; r=(stu *)malloc(sizeof(stu)); r->sid=x; r->average=y;

35


C语言程序设计教程答案(北邮版)杨路明 郭浩志(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:论文模板

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: