广工Anyview试题答案_第1页
广工Anyview试题答案_第2页
广工Anyview试题答案_第3页
广工Anyview试题答案_第4页
广工Anyview试题答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/**********【习题9.023]结构体类型定义如下:structdate{intyear;intmonth;intday;};//定义日期结构体类型structstudent{charname[20];structdatebirth;//出生日期};结构体数组s存储了n个人的名字和出生日期。写一函数,求这n个人中年龄最大(即出生日期最小)者的姓名。**********/char*oldest(students[],intn){intj,k=0;for(j=1;j<n-1;j){if(s[k].birth.year>s[j].birth.year)k=j;elseif(s[k].birth.year==s[j].birth.year){if(s[k].birth.month>s[j].birth.month)k=j;elseif(s[k].birth.month==s[j].birth.month)if(s[k].birth.day>s[j].birth.day)k=j;}}returns[k].name;}/**********【习题9.025]结构体类型定义如下:structdate(intyear;intmonth;intday;};//定义日期结构体类型structstudent{charid[10];〃学号charname[20];//姓名structdatebirth;//出生日期};结构体数组s存储了n个人的学号、名字和出生日期。写一函数,以结构体的形式返回这n个人中年龄最大(即出生日期最小)者的信息。**********/structstudentoldest(structstudents[],intn){intj,k=0;for(j=1;j<n-1;j){if(s[k].birth,year>s[j]・birth.year)k=j;elseif(s[k].birth.year==s|j]・birth.year){if(s[k].birth.month>s[j].birth.month)k=j;elseif(s[k].birth.month==s[j].birth.month)if(s[k].birth.day>s[j].birth.day)k=j;}}returns[k];}/**********【习题9.027】结构体类型定义如下:structstudent 学号姓名各{charid[10];//charname[10];门课成绩〃intscore[5];〃};结构体数组s存储了n个学生的学号、名字和各门课成绩。编写函数,返回这n个人中第i门课成绩最高者的学号。**********/char*best(structstudents[],intn,inti)intt=s[0].score[i],k;for(intj=0;j<n;j){if(t<s[j].score[i]){t=s[j].score[i];k=j;}}returns[k].id;}/**********【习题9.029】结构体类型定义学号如下: 姓名各门课structstudent{charid[10];//cha成绩rname[10];〃intscore[5];〃};结构体数组s存储了n个学生的学号、名字及其5门课成绩。编写函数’返回这n个人中5门课成绩总分最高者的学号。**********/char*best(structstudents[],intn)intsum=0,k,t=0;for(inti=0;i<n;i){for(intj=0;j<5;j)sum=s[i].score[j];if(sum>t){t=sum;sum=0;k=i;}elsesum=0;}returns[k].id;}习题9.033】日期和链表结点的结 日期结构体类型构体类型定义如下: 链表结点的结构体类型structdate{intyear;intmonth;intd人名出生日期ay;};//structstudentNode//{charname[10];//structdatebirth;//structstudentNode*next;};结构体链表L存储了n个人的名字和出生日期。写一函数,求这n个人中年龄最大(即出生日期最小)者的名字。**********/char*oldest(structstudentNode*L)〃若L是空表,则返回空指针null否则返回表中年龄最大者的名字V{structstudentNode*p;if(L二二NULL)retumNULL;for(p=L->next;p!二NULL;p=p->next){if((*p).birth.year>(*L).birth.year)continue;if((*p).birth.year==(*L).birth.year){if((*p).birth.month>(*L).birth.month)continue;if((*p).birth.months=(*L).birth.month&&(*p).birth.day>=(*L).birth.day)continue;}L二p;}return((*L).name);*********习题9.053】结构体类型定义如下:structperson(intid;// 员工号charname[10];〃 姓名intage;// 年龄charsex;// 性别};结构体数组personnel[n]存储了n位员工的信息写一函数返回年龄在a及以上的员工数。**********/intcount(structpersonpersonnel[],intn,inta)(intt=0;for(inti=0;i<n;i)if(personnel[i].age>=a)t;returnt;*********习题9.055】结构体类型定义如下:structperson(intid;// 员工号charname[10];// 姓名intage;// 年龄charsex;// 性别};结构体数组personnel^]存储了n位员工的信息。写一函数’返回年龄在a及以上的x性别的员工数。*********x性别的员工数。**********/intcount(structpersonpersonnel[],intn,inta,charx)intt=0;for(inti=0;i<n;i)if(personnel[i].age>=a&&personnel[i].sex==x)t;returnt;*********习题9.063】结构体类型定义如下:structcourse

{intcID;//charname[l0];//floatcredit;//intsemester;//课程号,取值0~99课程号,取值0~99**********/结构体数组c存储了n门课程的信息。写_函数,求学期s的总学分floatcreditSum(structcoursec[]Jntnjnts)structcourseNode//{intcID;//charname[10];//floatcredit;//intsemester;//structcourseNode*next;structcourseNode//{intcID;//charname[10];//floatcredit;//intsemester;//structcourseNode*next;课程链表结点的结构体类型课程号,取值0〜99课程名学分,取值0〜5学期,取值1〜8习题9.073]课程链表结点的结构体类型定义如下:};**********/ 结构体链表Lc存储了各学期多门课程的信息。写_函数,求学期s的总学分。floatcreditSum(structcourseNode*Lc,ints)/*^:Lc是空表,则返回0;否则返回学期s的总学分V{structcourseNode*p;floatsum=0.0;if(Lc==NULL)returnO.O;for(p=Lc->next;p!二NULL;p=p->next)if((*p).semester==s)sum=(*p).credit;if(s二二1)sum=(*Lc).credit;returnsum;

习题9.173]课程链表结点的结构体类型定义如下:j**********【习题9.133]日期和结构体类型定义如下:structdate{intyear;intmonth;intday;};//B期结构体类型structstudent//结构体类型{charname[10];〃人名structdatebirth;//出生日期};结构体数组s存储了n个人的名字和出生日期。写一函数,由数组s中n个人的信息及其丿II赡构造相应的链表。链表的结点的结构体类型定义如下:structstudentNode//结构体类型{charname[10];〃人名structdatebirth;//出生日期structstudentNode*next};*********structstudentNode*CreateLinkList(structstudents[],intn)structstudentNode*head/pl/p2;inti=0;pl=p2=(structstudentNode*)malloc(sizeof(structstudentNode));head=NULL;while(i<n){strcpy(pl->name,s[i].name);pl->birth=s[i].birth;if(i二二0)head二pl;elsep2->next=pl;p2二pl;pl=(structstudentNode*)malloc(sizeof(structstudentNode));i;p2->next=NULL;return(head);structcourseNode//{intcID;//课程链表结点的结构体类型课程号,取值0〜99课程名ndp//!in学分/取值structcourseNode//{intcID;//charname[10];//floatcredit;//

intsemester;//学期,取值l~8structcourseNode*next;};结构体链表Lc存储了多门课程的信息。写_函数,将课程号为c的课程的学分修改为to**********/structcourseNode*creditChange(structcourseNode*Lcjntc,floatt)/*若课程c不存在,则修改不成功,返回null;否则修改该课程的学分为t,返回指向该课程结点的指针。structcourseNode*p;for(p=Lc->next;p!二NULL;p=p->next)if((*p).cID二二c){(*p).credit=t;returnp;}if((*Lc).cID二二c){(*Lc).credit=t;returnLc;}returnNULL;structcourseNode//{intcID;//structcourseNode//{intcID;//charname[10];//floatcredit;//intsemester;//structcourseNode*next;课程链表结点的结构体类型课程号,取值0〜99课程名学分,取值0〜5学期,取值1~8习题9.183]课程链表结点的结构体类型定义如下:};结构体链表Lc存储了多门课程的信息。写一函数,将课程号为c的课程结点删除。**********/structcourseNode*deleteCourse(structcourseNode**Lc,intc)/*若在链表Lc中课程c不存在,则删除不成功,返回null;否则从链表Lc中删除该课程结点,并返回指向该课程结点的指针*/{structcourseNode*p,*q,*t;p=*Lc;while(c!=p->cID&&p->next!=NULL){q=p;p=p->next;}if(c==p->cID){if(p==*Lc){t=p;*Lc=p->next;}else{t=p;q->next=p->next;}}return(t);/**********【习题9.302】单向链表的结点类型定义如下:structnode(charch;structnode*next;};编写函数,对单向链表L实现就地逆置,即将所有结点的指针反向,原链头当作链尾,原链尾当作链头,并返回逆置后链表的头指针。**********/structnode*inverse(structnode*L){structnode*p=L,*q;intn=0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论