- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
06年上下午题
2006年上半年程序员下午试题
试题(共15分) 阅读以下说明和流程图,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明] 信息处理过程中经常需要将图片或汉字点阵做旋转处理。一个矩阵以顺时针方向旋转90°后可以形成另一个矩阵,如下图所示:
A
B
C
D
E
F
G
H
1
J
K
L
M
N
O
P
───→ M
I
E
A
N
J
F
B
O
K
G
C
P
L
H
D
流程图1-1描述了对n*n矩阵的某种处理。流程图1-2是将矩阵A顺时针旋转90°形成矩阵B的具体算法。[流程图1-1] [流程图1-2]
[问题1](3分) 请写出以下3*3单位矩阵沿顺时针方向旋转90°后所形成的矩阵。 [问题2](3分)如果以下3*3矩阵沿顺时针方向旋转90°后所形成的矩阵就是原来的矩阵: 其中,位于*处的元素需要考生填写请完整地写出该矩阵。[问题3](9分)在上述流程图1-1和1-2的算法中,(1)矩阵A第i行第j列的元素A(i,j)被复制到矩阵B中的哪个位置?—b(j,n+1-i),由此推:
矩阵A第i行第j列的元素A(i,j)被复制到矩阵(2)A(i,j)后来又被复制到矩阵C中的哪个位置?A(i,j)后来又被复制到矩阵C(3)填补流程图1-2中的空缺。 试题二(共15分)阅读以下说明和C语言函数,将应填入__(n)__处的字句写在答题纸的对应栏内。[说明]函数chanse(int num)的功能是对四位以内(含四位)的十进制正整数num进行如下的变换:将num的每一位数字重复一次,并返回变换结果。例如,若num=5234,则函数的返回值其变换过程可描述为:(4*10+4)*1 + (3*10+3)*100 + (2*10+2)*10000 + (5*10+5)*1000000 =[C语言函数] long change (int num){int d, m =num;
long result, mul;
if (num = 0 || [__(1)__) /*若num不大于0或num 的位数大于4,则返回-1*/ return -1;
mul = 1;
__(2)__; while (m O) {d = m % 10;
m = __(3)__; result = result + (__(4)__) * mul; mul = __(5)__;}-----num*100(三位数)
return result;}
试题三(共15分) 阅读以下说明和C语言函数,将应填入__(n)__处的字句写在答题纸的对应栏内。[说明]函数bool Del_elem(STACK *S,char para_ch)的功能是:删除栈*s中与para_ch之值相等且最接近栈顶的元素(字符),若栈中不存在该元素,则函数返回FALSE,否则返回TRUE。其中,STACK是栈的类型名。函数Del_lem实现上述功能的方法是c利用栈的基本操作,先将栈*s中所有比parlch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与para_ch之值相等的元素,最后再将s_bak中的元素依次存回栈*s。在函数Del_elem中必须使用栈的基本操作进行栈上的运算,实现栈的基本操作的 函数原型说明如下; void InitStack(STACK*S):初始化栈。 void Push(STACK*S,char e):将一个字符压栈,栈中元素数目增1。 void Pop(STACK*S);栈顶元素出栈,栈中元素数目减1。 char Top(STACK S):返回非空栈的栈顶元素值,栈中元素数目不变。 bool IsEmpty(STACK S);若S是空栈,则返回TRUE:否则返回FALSE。
bool类型定义如下:typedef enum{ FALSE=0,TRUE=1 } bool;[C语言函数] bool Del_elem(STACK *S,char para_ch) { STACK s_bak;/*定义临时工作栈s_bak */ char Ch;bool tag=FALSE;
__(1)__;/*初始化临时工作栈s_bak*/ /*将栈*s中所有比para_ch更接近栈顶的元素暂时存放在临时工作栈s_bsk中*/ while(!IsEmpty(*s)){
ch=___(2)___; /*取栈顶元素:/ Pop(S); if(Ch=para_ch) {tag=TRUE:
您可能关注的文档
最近下载
- (新课标)人教版小学劳动教育五年级上册第一章劳动项目2《煮面条》教学设计.doc
- 副县长在县委理论学习中心组学习会上的发言(党的作风建设的重要论述).doc VIP
- 注射水纯水纯蒸汽施工方案.pdf VIP
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案.docx VIP
- 电力新能源知识培训课件.pptx VIP
- 电气运行、检修、事故处理、安全操作规程(电气五大规程).docx
- 《矿山隐蔽致灾因素普查规范 大纲》.doc VIP
- 新概念英语第一册 Lesson 21-22课件.ppt VIP
- 2025贵州遵义南国大数据有限公司招聘100人笔试模拟试题及答案解析.docx VIP
- 网信体系下 网络舆情应对流程指南.docx VIP
文档评论(0)