版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中秋节联欢会致辞范文(10篇)
- 九月大班上学期月计划范文(5篇)
- 中秋晚会董事长致辞范文(13篇)
- 曹植课件教学课件
- 讲师比赛课件教学课件
- 影响高中数学成绩的原因及解决方法
- 消费品和有关服务的比较试验 实施要求 编制说明
- 爱婴医院课件教学课件
- 南宫市八年级上学期语文10月月考试卷
- 八年级上学期语文期中考试卷
- 灯检机使用、维护和检修标准操作规程
- 企业评标专家推荐表
- 接地电阻测试记录表范本
- 桩基单桩水平静载试验检测方案
- DB11-T1496-2017健康体检服务规范
- 体育课教案-游泳
- 小学语文人教六年级上册(统编2023年更新)第八单元-生活中的鲁迅
- 小学生自我介绍竖版
- 某小区物业费收支预算表(公示用)
- 汽车技术服务与营销专业建设情况
- 电焊作业风险分析及管控措施
评论
0/150
提交评论