- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
国家三级信息管理技术机试模拟试卷第
1套
一、程序设计题(本题共7题,每题7.0分,共]分。
1、编写一个函数findStr。,该函数统计一个长度为2的字符串在另一个字符串中
出现的次数。例如,假定输入的字符串为asdasasdfgasdaszx67asdmklo,子字
符串为“as”,函数返回值是6。函数ReadWriteO的功能是实现从文件in40.dal中读
取两个字符串,并调用函数findStrO,最后把结果输出到文件。t40.dat中。注
意:部分源程序已给出。请勿改动主函数main。和其他函数中的任何内容,仅在
函数findSlr。的花括号中填入你所编写的若干语句。试题程序:#incldestdio.h
#incldestring.h#incldeconio.hintfindStr(char*str,char*sbstr){}
main(){charstr[81],sbstr[3];intn;ckscr();printf(输入原字符串gets(str);printf(
输入子字符串:;gets(sbstr);pts(str);pts(sbstr);n=findstr(str,sbstr);
prinlf(n=%d\n,n);ReadWrile();}ReadWriteO{charch,str[81l,sbstr[3];intn,len,
,,,
i=0:FILE*rf.*wf:rf=fopcnCin40.dat.r):wf=fopcn(ot40.dar.w):while(i5)
{fgets(str,8O,rf);fgets(sbstr.lO,rf);len=strlen(sbstr)-1;ch=sbstr[len];
iRch==\n||ch=0xla)sbstr[len]=O;n=findStr(str,sbstr);fprintf(wf,%d\n,n);i++;}
fclose(rf);fclose(wf);}
标准答案:intfindStr(char*str,char*sbstr){intn;char*p,*r;n=0;while(*str)(p=str;
/*指针p指向字符串首地址切尸sbslr;/*指针i•指向子字符串首地址*/while(*r)
if(*r==*p)/*如果子字符串的第一个字符等于字符串中的该字符,则继续比较下一
个字符*/{r++:p++;}elsebreak:/*否则退出循环*/if(*r==\O)/*如果子字符串
在字符串中出现了一次*/n++;/*则n加1,进行统计*/市++;/*指向字符串中的
下一个字符*/}retrnn;/*返回n*/}
知识点解析:本题考查的知识点如下:(1)指针的相关操作。(2)强行退出——
break的使用。指针是C语言中的一个难点。在这里,我们要使用指针实现对数组
的访问继而进行字符的比较。使用数组存放字符串时,存放的字符个数要比数组的
容量小1,因为数组最后一个位置存放的是空格或者结束标志位。我们可利用这一
点来判断一个字符串是否已经结束。在循环结构中常常要出现强行退出的情况,这
里要使用到break语句强行退出•层循环。当字符串中的某个字符与子字符串的第
一个字符不同时,则将字符串中的下一个字符与子字符串中的第一个字符比较,而
不是与子字符串中的第二个字符比较。
国家三级信息管理技术机试模拟试卷第
2套
一、程序设计题(本题共7题,每题7.0分,共7分。
1、已知数据文件INIO.DAT中存有300个四位数,并已调用读函数readDat。把这
些数存入数组a中,请编制一个函数jsVakieO,其功能是:求出千位数上的数减百
位数
- 软件下载与安装、电脑疑难问题解决、office软件处理 + 关注
-
实名认证服务提供商
专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!
原创力文档


文档评论(0)