



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年4月智能储物柜采购物品识别准确率标准
- 山东省青岛市城阳区2024-2025学年五年级数学第二学期期末考试模拟试题含答案
- 天门职业学院《广告研究》2023-2024学年第二学期期末试卷
- 四川省渠县九校2024-2025学年初三一模(期末)英语试题含答案
- 泰州职业技术学院《幼儿园教育教学》2023-2024学年第二学期期末试卷
- 江苏省宿迁市沭阳县重点名校2025年初三摸底联考物理试题文试题含解析
- 江西省南昌市进贤一中2025届高三年级下学期第一次考试生物试题试卷含解析
- 武汉工贸职业学院《工程项目评估》2023-2024学年第二学期期末试卷
- 湖南省张家界市永定区2025届初三年级模拟考试(一)语文试题含解析
- 江苏省南京市二十九中学2024-2025学年初三第一次阶段考试英语试题含答案
- 2024年浙江长征职业技术学院单招综合素质考试题库附答案
- 2025届安徽省池州市普通高中高三下学期教学质量统一监测物理试卷(含答案)
- 库房管理工作职责与规范化
- Unit 3Keep Fit.教案2024-2025学年人教版(2024)七年级英语下册
- 专题06文学文化常识中考语文一轮复习
- WMS仓库管理系统采购协议
- 2024国家数字化范式与路径-公共政策立场-67正式版
- 保障公路、公路附属设施质量和安全的技术评价报告
- 2022年10月自考06779应用写作学试题及答案
- 小学生天文知识竞赛复习题库及答案
- 工地运输车辆的危险源辨识与风险防控
评论
0/150
提交评论