- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011程序题
2011年程序员上半年下午试题
第1题
试题一(共15分)
阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。
【说明】
下面的流程图可在正文字符串T(1:L)中计算关键词字符串K(1:m)出现的次数(用n表示)。其中,L为字符串T的长度,m为字符串K的长度(mL)。为便于模糊查找,关键词中的字符“?”可以匹配任意一个字符。在流程图中,先从T中取出长度为m的子串存入A中,再将A与K进行逐个字符的比较(其中,K可以包含字符“?”)。注意:从正文字符串中取出的关键词字符串不允许交叉。
例如,“aaaaaa”中有3个关键词字符串“aa”。
【流程图】
答案及解析:
(1)、
(2)、
(3)、
(4)、
(5)、
第2题
试题二(共15分)
阅读以下说明和C函数,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明1】
函数substring(const char str[],int index,int length)的功能是求出字符串str中指定序号index开始且长度为length的子串,并返回所取的子串。以字符串”China today”为例,其第一个字符“C”的序号为1(而其在字符数组str中的下标为0),从序号5开始且长度为3的子串为“at”。
【C函数1】
行号 代码 1
2
3
4
5
6
7
8
9
10
11
12
13
14 char *substring(const char str[],int index,int length)
{
char *tptr=0;
int k;
/*参数错误,返回空指针*/
if(index1||length0||index+length-1strlen(str))return 0;
tptr=(char*)malloc((length+1)*sizeof(char));
/*申请子串所需的存储区域*/
if(tptr=0) return 0; /*内存申请失败,返回空指针*/
for(k=0;klength;k++)
tptr[k]=str[index+k-1];
tptr[length-1]=’\0’; /*字符串置结束标志*/
return tptr;
} 【问题一】(共6分)
函数substring中有两处错误,请指出这些错误所在代码的行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行(有注释时,注释可省略)。
出错行号 修改正确后的完整代码 【说明2】
在C函数2中,reverse(unsigned int n)的功能是求出并返回n的反序数。例如,1234的反序数是4321,其求解过程如下:
由1234除以10得到商123和余数4,0乘以10再加上4得到4;
由123除以10得到商12和余数3,4乘以10再加上3得到43;
由12除以10得到商1和余数2,43乘以10再加上2得到432;
由1除以10得到商0和余数1,432乘以10再加上1得到4321;
【C函数2】
unsigned int reverse(unsigned int n)
{
unsigned int result=0;
while( (1) ){
result=result*10+n%10;
n=(2)_;
}
return result;
}
【问题2】(共6分)
请根据说明2,填充C函数2中的空缺(1)和(2)。
答案及解析:
(1)、
(2)、
【问题3】(共3分)
用567,123462354879643分别作为实参调用函数reverse,对应的返回值分别为765,43211357400630。请说明以62354879643作为实参调用函数rreverse时返回结果出错的原因。
答案及解析:
第3题
试题三(共15分)
阅读以下说明和C函数,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
对于具有n个元素的整型数组a,需要进行的处理是删除a中所有的值为0的数组元素,并将a中的所有非0元素按照原顺序连续地存储在数组空间的前端。下面分别用函数CompactArr v2来实现上述处理要求,函数的返回值为非零元素的个数。函数CompactArr_v1(int a[],int n)的处理思路是:先申请一个与数组a的大小相同的动态数组空间,然后顺序扫描数组a的每一个元素,将遇到的非0元素依次复制到动态数组空间中,最后再将动态数组中的元素传回数组a中。
函数CompactArr_v2(int a[],int n)的处理思路是:利用下标i(初值为0)顺序扫描数组a的每一个元素,下标k(初值为0)表示数组a中连续存储的非0元素的下标。扫
您可能关注的文档
- (苏教牛津版)二年级英语上册期末测试.doc
- (表)009-值班经理检查表.doc
- (协会)证劵基础(多选).doc
- (郑晓敏)必修一复习(基础题目).doc
- (金毛训练)衔取物品.doc
- !例子诗词分析.ppt
- -4004-摘要-091022.doc
- ...见年has计划呢.doc
- 02最高额抵押担保借款合同.doc
- 03级大学物理上A卷001.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 会计学原理23版 英文版课件WildFAP23eCh05PPT.pptx
- 华为公司职类职种职级体系的划分及职业发展通道设计.pdf VIP
- 建筑解析流水别墅.pptx
- 2025届高三英语复习语法填空专题(24张PPT).pptx VIP
- 基于PLC的磨矿控制系统设计.docx
- 有限元分析论文.doc VIP
- 苏教版小学科学五年级上册第四单元《水在自然界的循环》大单元教学设计(含练习).docx
- 聚氯乙烯热收缩膜标签验收标准.doc VIP
- 2023年安徽省高中学业水平合格性考试数学试卷真题(含答案详解) (2).pdf VIP
- 2025届江苏省南菁高级中学物理高一第一学期期中达标检测模拟试题含解析.doc
文档评论(0)