数据结构上机作业1-5节.doc

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 ◆1.16② 试写一算法,如果三个整数X,Y和Z的值不是依次非递增的,则通过交换,令其为非递增。 void Descend(int x, int y, int z) /* 按从大到小顺序返回x,y和z的值 */ { int t; if(xy) { t=x; x=y; y=t; } if(xz) { t=x; x=z; z=t; } if(yz) { t=y; y=z; z=t;} } 1.17③ 已知k阶裴波那契序列的定义为 f0=0, f1=0, ..., fk-2=0, fk-1=1; fn=fn-1+fn-2+...+fn-k, n=k,k+1,... 试编写求k阶裴波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。 要求实现下列函数: Status Fibonacci(int k, int m, int f) /* 求k阶斐波那契序列的第m项的值f */ { int tempd; int temp[100]; int i,j,sum=0; if(k2||m0) return ERROR; if(mk-1) f=0; else if (m==k-1) f=1; else { for(i=0;i=k-2;i++) temp[i]=0; temp[k-1]=1; for(i=k;i=m;i++) { for(j=i-1;j=i-k;j--) sum=sum+temp[j]; temp[i]=sum; sum=0; } f=temp[m]; } return OK; } 1.18③ 假设有A、B、C、D、E五个高等院校进行田径对抗赛, 各院校的单项成绩均以存入计算机并构成一张表,表中每一行的形式为项目名称 性别 校名 成绩 得分.编写算法,处理上述表格,以统计各院校的男、女总分和团 体总分,并输出。 void Scores(ResultType *result, ScoreType *score) /* 求各校的男、女总分和团体总分, 并依次存入数组score */ /* 假设比赛结果已经储存在result[ ]数组中, */ /* 并以特殊记录 {, male, , , 0 }(域scorce=0)*/ /* 表示结束 */ { int i = 0; while( result[i].sport ) { switch( result[i].schoolname ) { case A: score[0].totalscore+= result[i].score; if( result[i].gender == female ) score[0].femalescore+=result[i].score; else score[0].malescore+=result[i].score; break; case B: score[1].totalscore += result[i].score; if( result[i].gender == female ) score[1].femalescore+=result[i].score; else score[1].malescore+= result[i].score; break; case C: score[2].totalscore += result[i].score; if( result[i].gender == female ) score[2].femalescore+=result[i].score; else score[2].malescore += result[i].score; break; case D: score[3].totalscore+= result[i].

文档评论(0)

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

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

1亿VIP精品文档

相关文档