下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国一卷语文试题及答案
- 2026年物理答案及试题湖北
- 期中质量分析复盘会校长讲话:三组数据揭开三个真问题五条硬要求划定后半学期底线
- 《FZT 24009-2021精梳羊绒织品》(2026年)合规红线与避坑实操手册
- 《DBT 107-2025地震烈度现场评定》(2026年)合规红线与避坑实操手册
- 广西壮族自治区柳州市2025年中考二模英语试题(含答案)
- 年产吸湿耐磨抗UV罗缎4000万米技改项目可行性研究报告模板-立项拿地
- 某省市场与金融机构第12章其他金融机构
- 2025北京清华附中高二(上)期中语文试题及答案
- 【低空经济】低空飞行大数据中心与行业应用算法工厂详细设计方案
- 2026江西南昌市湾里管理局梅岭镇向阳林场面向社会招聘1人笔试参考题库及答案详解
- 2026年甘肃省兰州大学管理人员、其他专业技术人员招聘10人考试备考题库及答案解析
- 2026年市场监管局消费者权益保护岗面试题
- 毒性中药管理培训
- 中国石油大学华东2025年9月《汽车理论》作业考核试题含答案
- 2026年制式离婚协议书民政局备案版
- 恒丰银行笔试题库及答案
- 2026中考英语考纲重点词汇800个及拓展
- 2025年咸宁市中小学教师系列高、中级职称水平能力测试综合能力测试考前冲刺模拟题及答案(网页版)
- 11《宝葫芦的秘密》课件
- GB/T 6109.22-2025漆包圆绕组线第22部分:240级芳族聚酰亚胺漆包铜圆线
评论
0/150
提交评论