版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:_ 班级:_ 学号:_-密-封 -线- 中级软件设计_师填空集考试卷模拟考试题考试时间:120分钟 考试总分:100分题号一二三四五总分分数遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。1、阅读以下说明和c代码,将应填入(n)处的字句写在对应栏内。说明下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如hack12与hack21包含完全相同的
2、字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按asc码顺序),这样不管打乱的单词是什么顺序,只要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节点的值,右子树(如果有)上的节点对应的值均大于根节点的值。函数中使用的符号定义如下:#define numberofwords 1275/单词总数#define maxlength 10/最长单词所含字符数char wordlistnumberofwordsmaxlength;/存储单词列表int cmp(node
3、 *q,node *p);/q与p比较。p小,返回负值;p大返回正值:相等,返回0typedef struct node(/二叉树节点char *eleletters;/重组后的字符串int index;/对应单词表中的下标struct node *lchiid,*rchiid;/左右子节点node;c代码void recompose(node *p,char *temp)/重纰,亦即将temp字符串中的字符升序排序,存储于p节点中/采用直接插入排序法char c;strcpy(p-eleletters,temp);/int len=strlen(temp);int i,j,k;for(i=0
4、;ilen1;i+)k=i;for(j=i+1;jlan;j+)if(p-elelettersjp-elelettersk)k=j;if(1)c=p-elelettersi;p-elelettersi=p-elelettersk;p-elelettersk=c;/if/for;int find(node &root,char *temp)/在二叉排序树root中查找与temp匹配的单词。/若匹配返回相应单词在wordlist中下标;若查找失败,返回-1node *p,*q;int flag;p=(2);/临时存储recompose(p,temp);/将temp重组q=&root;while(f
5、lag=(3)q !=null)if(flag0)/搜索左子树q=q-lchiid;else(/搜索右子树q=q-rchild;/whileif(flag=0)/找到匹配的,保存下标return(4);if(5)/查找失败printf(“cant unscramble the following word:%s”,temp);return -1;(1)处填( )2、阅读以下说明和c代码,将应填入(n)处的字句写在对应栏内。说明下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ry
6、t、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如hack12与hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按asc码顺序),这样不管打乱的单词是什么顺序,只要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节点的值,右子树(如果有)上的节点对应的值均大于根节点的值。函数中使用的符号定义如下:#define numberofwords 1275/单词总数#defin
7、e maxlength 10/最长单词所含字符数char wordlistnumberofwordsmaxlength;/存储单词列表int cmp(node *q,node *p);/q与p比较。p小,返回负值;p大返回正值:相等,返回0typedef struct node(/二叉树节点char *eleletters;/重组后的字符串int index;/对应单词表中的下标struct node *lchiid,*rchiid;/左右子节点node;c代码void recompose(node *p,char *temp)/重纰,亦即将temp字符串中的字符升序排序,存储于p节点中/采用
8、直接插入排序法char c;strcpy(p-eleletters,temp);/int len=strlen(temp);int i,j,k;for(i=0;ilen1;i+)k=i;for(j=i+1;jlan;j+)if(p-elelettersjp-elelettersk)k=j;if(1)c=p-elelettersi;p-elelettersi=p-elelettersk;p-elelettersk=c;/if/for;int find(node &root,char *temp)/在二叉排序树root中查找与temp匹配的单词。/若匹配返回相应单词在wordlist中下标;若查找
9、失败,返回-1node *p,*q;int flag;p=(2);/临时存储recompose(p,temp);/将temp重组q=&root;while(flag=(3)q !=null)if(flag0)/搜索左子树q=q-lchiid;else(/搜索右子树q=q-rchild;/whileif(flag=0)/找到匹配的,保存下标return(4);if(5)/查找失败printf(“cant unscramble the following word:%s”,temp);return -1;(2)处填( )3、阅读以下说明和c代码,将应填入(n)处的字句写在对应栏内。说明下面程序用来
10、将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如hack12与hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按asc码顺序),这样不管打乱的单词是什么顺序,只要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节
11、点的值,右子树(如果有)上的节点对应的值均大于根节点的值。函数中使用的符号定义如下:#define numberofwords 1275/单词总数#define maxlength 10/最长单词所含字符数char wordlistnumberofwordsmaxlength;/存储单词列表int cmp(node *q,node *p);/q与p比较。p小,返回负值;p大返回正值:相等,返回0typedef struct node(/二叉树节点char *eleletters;/重组后的字符串int index;/对应单词表中的下标struct node *lchiid,*rchiid;/左
12、右子节点node;c代码void recompose(node *p,char *temp)/重纰,亦即将temp字符串中的字符升序排序,存储于p节点中/采用直接插入排序法char c;strcpy(p-eleletters,temp);/int len=strlen(temp);int i,j,k;for(i=0;ilen1;i+)k=i;for(j=i+1;jlan;j+)if(p-elelettersjp-elelettersk)k=j;if(1)c=p-elelettersi;p-elelettersi=p-elelettersk;p-elelettersk=c;/if/for;int
13、 find(node &root,char *temp)/在二叉排序树root中查找与temp匹配的单词。/若匹配返回相应单词在wordlist中下标;若查找失败,返回-1node *p,*q;int flag;p=(2);/临时存储recompose(p,temp);/将temp重组q=&root;while(flag=(3)q !=null)if(flag0)/搜索左子树q=q-lchiid;else(/搜索右子树q=q-rchild;/whileif(flag=0)/找到匹配的,保存下标return(4);if(5)/查找失败printf(“cant unscramble the fol
14、lowing word:%s”,temp);return -1;(3)处填( )4、阅读以下说明和c代码,将应填入(n)处的字句写在对应栏内。说明下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如hack12与hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按asc码顺序),这样不管打乱的单词是什么顺序,只
15、要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节点的值,右子树(如果有)上的节点对应的值均大于根节点的值。函数中使用的符号定义如下:#define numberofwords 1275/单词总数#define maxlength 10/最长单词所含字符数char wordlistnumberofwordsmaxlength;/存储单词列表int cmp(node *q,node *p);/q与p比较。p小,返回负值;p大返回正值:相等,返回0typedef struct node(/二
16、叉树节点char *eleletters;/重组后的字符串int index;/对应单词表中的下标struct node *lchiid,*rchiid;/左右子节点node;c代码void recompose(node *p,char *temp)/重纰,亦即将temp字符串中的字符升序排序,存储于p节点中/采用直接插入排序法char c;strcpy(p-eleletters,temp);/int len=strlen(temp);int i,j,k;for(i=0;ilen1;i+)k=i;for(j=i+1;jlan;j+)if(p-elelettersjp-elelettersk)k
17、=j;if(1)c=p-elelettersi;p-elelettersi=p-elelettersk;p-elelettersk=c;/if/for;int find(node &root,char *temp)/在二叉排序树root中查找与temp匹配的单词。/若匹配返回相应单词在wordlist中下标;若查找失败,返回-1node *p,*q;int flag;p=(2);/临时存储recompose(p,temp);/将temp重组q=&root;while(flag=(3)q !=null)if(flag0)/搜索左子树q=q-lchiid;else(/搜索右子树q=q-rchild
18、;/whileif(flag=0)/找到匹配的,保存下标return(4);if(5)/查找失败printf(“cant unscramble the following word:%s”,temp);return -1;(4)处填( )5、阅读以下说明和c代码,将应填入(n)处的字句写在对应栏内。说明下面程序用来将打乱的单词还原为原来的次序,比如将rty还原为try。单词的原来次序存储于wordlist.txt文件中,原则上可用穷举法(rty对应的穷举为:rty、ryt、try、tyr、ytr、yrt),但考虑到破译速度,采用如下方法。注意到单词列表中不存在组成字符完全相同的单词(如hack12与hack21包含完全相同的字符),因此将单词中的字符进行重组再进行比较,例如,try单词重组为rty(按asc码顺序),这样不管打乱的单词是什么顺序,只要是由r、t、y三个字母组成的均破译为try,大大提高破译速度。程序中借助二叉排序树以进一步提高查找效率,二叉排序树左子树(如果有)上的节点对应的值均小于根节点的值,右子树(如果有)上的节点对应的值均大于根节点的值。函数中使用的符号定义如下:#define numberofwords 1275/单词总数#define maxlength 10/最长单词所含字符数char wordlistnumberofword
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年水处理剂相关行业营销方案
- 2024年医疗、外科及兽医用器械相关公司行业营销方案
- 一级造价工程师《造价管理》株洲市荷塘区2024年高分冲刺试卷含解析
- 中国遥控红外报警器行业市场现状分析及竞争格局与投资发展研究报告2024-2029版
- 中国西葫芦种子行业市场现状分析及竞争格局与投资发展研究报告2024-2029版
- 中国生活锅炉行业市场现状分析及竞争格局与投资发展研究报告2024-2029版
- 中国抗抑郁药行业深度调研及投资前景预测研究报告2024-2029版
- 二年级下册《拓印树叶真有趣》课堂教学实录(附教案)
- 中国钢筋行业深度调研及投资前景预测研究报告2024-2029版
- 中国衬衫行业供需趋势及投资风险研究报告2024-2029版
- 法律职业资格考试客观题(试卷二)复习试卷及答案指导
- 人教版2024-2025学年七年级地理上册 第一章 地球【单元测试卷】
- 《自然教育》课件-概述与发展
- 医疗保障基金相关制度、政策培训通知、总结、简报整改报告
- 口腔科晋升副主任(主任)医师双侧上颌第一磨牙根分叉病例报告专题分析
- 高等数学0预备知识省公开课金奖全国赛课一等奖微课获奖课件
- 透析患者控水宣教课件
- 2024年6月浙江高考历史试卷(含答案)
- 2024年山东港口职业技能大赛(集装箱装卸工)理论考试题库(含答案)
- 2024-2030年中国焊接机器人行业市场发展分析及发展趋势与投资研究报告
- 南通市启秀初中2023-2024八年级上学期第一次月考物理试卷及答案
评论
0/150
提交评论