如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机等级考试三级网络技术上机题及答案计算机等级考试三级网络技术上机题及答案全国计算机等级考试,是经原国家教育委员会(现教育部)批准,由教育部教育考试院主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。以下是小编为大家收集的计算机等级考试三级网络技术上机题及答案,仅供参考,欢迎大家阅读。计算机等级考试三级网络技术上机题及答案1.编写一个函数findStr(),该函数统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asdasasdfgasdaszx67asdmklo",子字符串为"as",函数返回值是6。函数ReadWrite()的功能是实现从文件in68.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out68.dat中。注意:部分源程序已给出。请勿改动主函数main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入你所编写的若干语句。试题程序:#include#include#includevoidReadWrite();intfindStr(char*str,char*substr){}voidmain(){charstr[81],substr[3];intn;system("CLS");printf("输入原字符串:");gets(str);printf("输入子字符串:");gets(substr);puts(str);puts(substr);n=findStr(str,substr);printf("n=%d",n);ReadWrite();}voidReadWrite(){charch,str[81],substr[3];intn,len,i=0;FILE*rf,*wf;rf=fopen("in68.dat","r");wf=fopen("out68.dat","w");while(i<>{fgets(str,80,rf);fgets(substr,10,rf);len=strlen(substr)-1;ch=substr[len];if(ch==''||ch==0x1a)substr[len]=0;n=findStr(str,substr);fprintf(wf,"%d",n);i++;}fclose(rf);fclose(wf);}【答案】intfindStr(char*str,char*substr){intn=0;/*定义计数器变量,统计出现次数*/char*p,*r;/*定义指针变量来分别指向两个字符串*/while(*str)/*如果字符串没有结束,则一直循环下去*/{p=str;/*指针p指向字符串首地址*/r=substr;/*指针r指向子字符串首地址*/while(*r)/*若子字符串没有结束,则循环继续*/if(*r==*p)/*如果子字符串的第一个字符等于字符串中的该字符,则继续比较下一个字符*/{r++;p++;}elsebreak;/*否则退出循环*/if(*r=='')/*如果子字符串在字符串中出现了一次*/n++;/*则n加1,进行统计*/str++;/*指向字符串中的下一个字符*/}returnn;/*返回统计结果n*/}【解析】本题主要考查了指针的相关操作。首先,通过外层的while循环取字符串的每一个字符,取完字符串的所有字符之后,循环才会终止。用两个字符型指针分别指向两个字符串。逐个将字符串的字符跟子字符串的字符对比,如果相等,则两个指针都自加1,分别指向两个串的下一个字符。若不相等,则主串的指针加1,子串的指针重新指向起始位置,继续比较下一个字符。2.函数ReadDat()的功能是实现从文件IN67.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT67.DAT中。例如,原文:YouHeMeIamastudent.结果:MeHeYoustudentaamI原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。试题程序:#include#include#inc