网站大量收购独家精品文档,联系QQ:2885784924

第8章结构体与共用体..doc

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章结构体与共用体.

程序改错 /*下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m=10)名学生,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 试题程序:*/ #include stdlib.h #include string.h #include stdio.h #include malloc.h #define N 10 typedef struct ss { char num[10]; int s; } STU; STU *fun(STU a[], int m) { STU b[N],*t; int i, j,k; /**********ERROR**********/ *t=calloc(m,sizeof(STU)); 【参考答案】t=calloc(m,sizeof(STU)); for(i=0;iN;i++) b[i]=a[i]; for(k=0;km;k++) { for (i=j=0;iN;i++) if(b[i].sb[j].s) j=i; /**********ERROR**********/ t[k].num=b[j].num; 【参考答案】t[k]=b[j]; t[k].s=b[j].s; b[j].s=0; } return t; } outresult(STU a[],FILE *pf) { int i; for(i=0;iN;i++) fprintf(pf, No=%s Mark=%d\n , a[i].num, a[i].s); fprintf(pf, \n\n ); } void main() { STU a[N]={{ A01 ,81},{ A02 ,89},{ A03 ,66},{ A04 ,87},{ A05 ,77}, { A06 ,90},{ A07 ,79},{ A08 ,61},{ A09 ,80},{ A10 ,71}}; STU *pOrder; int i, m; printf(*****THE RESULT*****\n); outresult(a,stdout); printf(\nGive the number of the students who have better score: ); scanf(%d,m); while(m10) { printf(\nGive the number of the students who have better score: ); scanf(%d,m); } pOrder=fun(a,m); printf(***** THE RESULT*****\n); printf(The top :\n); for(i=0;im;i++) printf(%s %d\n,pOrder[i].num, pOrder[i].s); free(pOrder); } /*下列给定程序的功能是:建立一个带头节点的单向链表,并用随机函数为各节点数据域赋值。函数fun的作用是求出单向链表节点(不包括头节点)数据域中的最大值,并且作为函数值返回。 试题程序: */ #include stdio.h #include stdlib.h typedef struct aa { int data; struct aa *next; } NODE; fun (NODE *h) { int max=-1; NODE *p; /**********ERROR**********/ p=h; 【参考答案】p=h-next; while(p) { if(p-datamax) max=p-data; /**********ERROR**********/ p-next=h; 【参考答案】p=p-next; } return max; } outresult(int s, FILE *pf) { fprintf(pf, \nThe max in link :%d\n,s); } NODE *creatlink(int n, int m) { NODE *h,*p,*s; int i; h=p=(NODE *)malloc(sizeof(NODE)); h-data=9999; for(i=1;i=n;i++) { s

文档评论(0)

sd7f8dgh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档