全国计算机三级网络技术上机题库及答案.docx
《全国计算机三级网络技术上机题库及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机三级网络技术上机题库及答案.docx(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,intk,intxx)实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。 例如:若输入17,5,则应输出:19,23,29,31,37。注意:部分源程序已给出。请勿改动主函数main()和函数readwriteDAT()的内容。类型:素数。void num(int m,int k,int xx) /*标准答案*/int data=m+l;int half/n=OJ;while(l)half=data/2;for(l=2;lhalf)xxn=data;n+;if
2、(n=k)break;data+;)或者:void num(int mjnt kJ nt xx)int ijzs=O;for(i=m+l;k0;i+)for(j=2;j0;m+)if(isP(m)xxi+=m;原程序如下:#include #include void readwriteDAT();int isP(int m)int i;for(i = 2 ; i m ; i+)if(m % i = 0) return 0;return 1;void num(int mjnt kJ nt xx) main()int m, n, xx1000;clrscr();printf(HnPlease en
3、ter two integers:);scanf(”d,%cT, &m, &n );num(mz nz xx);for(m = 0 ; m n ; m+)printf(n%d,xxm);printf(n);readwriteDAT();system(pauseH);void readwriteDAT()int m, n, xxlOOO, i;FILE *rf, *wf;rf = fopen(in.dat/ nr);wf = fopenCout.dat, w);for(i = 0; i 10 ; i+) fscanf(rf, %d %d”,&m, &n);num(m, n, xx);for(m
4、= 0 ; m n ; m+) fprintf(wf, %d , xxm);fprintf(wfz Hn);fclose(rf);fclose(wf);)2:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则 统计出满足此条件的个数ent,并把这些四位数按从大到小的顺序存入数组b中。最后main() 函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件 中。注意:部分源程序存在文件PR0G1.C文件中。程序中已
5、定义数组:a200, b200,已定义变量:ent请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat() 的内容void jsVal() /* 标准答案*/int bb4;int l,j,k,flag;for (l=0;l200;l+)bb0=al/1000; bbl=al%1000/100;bb2=al%100/10; bb3=al%10;for (j=0;j4;j+)if (bbj%2=0)flag=l;elseflag=O;break;if (flag=l)bcnt=al;cnt+;for(l=0;lcnt-l;l+)for(j
6、=l+l;jcnt;j+) if(blbUJ)k=bl;bl=bU;bU=k;原程序如下:#include #define MAX 200int aMAX, bMAXz ent = 0;void jsVal() void readDat()int i;FILE *fp;fp = fopenCin.dat, r);for(i = 0; i MAX ; i+) fscanf(fp, &ai); fclose(fp);)void main()int i;readDat();jsVal();printf(满足条件的数=%dn”, ent);for(i = 0; i ent; i+) printf(%d
7、 , bi);printf(n);writeDat();system(pause);writeDat()FILE *fp;inti;fp = fopenCout.dat, w);fprintf(fpz %dnz ent);for(i = 0; i ent; i+) fprintf(fp, %dnz bi);fclose(fp);3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制 函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母0左边的字符串内容移 到该串的右边存放,然后并把小写字母0删除,余下的字符串内容移到已处理字符串的左边存
8、 放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDATO把结 果XX输出到文件OUT.DAT中.例如:原文:You can create an index on any field.you have the correct record.结果:n any field.You can create an indexrd.yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.类型:字符串(单词)的倒置和删除。void StrOR(void) /*标准答案*/intindex,strl;char ch;fo
9、r(l=0;lmaxline;l+)strl=strlen(xxl);index=strl;for(j=0;jstrl;j+)if(xxlU=o)for(k=j;k=index;j-)ch=xxlstrl-l;for(k=strl-l;k0;k-)xxlk=xxlk-l;xxl0=ch;或者:void StrOR(void)int i;char a80,*p;for(i=0;imaxline;i+)p=strchr(xxi/o,);while(p)memsetfaASO);memcpy(a/xxi/p-xxi);strcpy(xxizp+l);strcat(xxiza);p=strchr(xx
10、i/o*);或者:void StrOR(void) /*我的非指针解法*/int ijightojk;char tem80;for(i=0;i=0;j-)if(xxij=o) righto=j;break;for(j=righto+l;jstrlen(xxi);j+) temk+=xxij;for(j=0;jrighto;j+)if(xxiU!=o)temk+=xxij;strcpy(xxi,tem);)或者:注:该题要求的字符串中所有小写字母。左边的字符串内容移到该串的右边存放,即将串中 “最后” 一个字母。左右两侧的内容互换。题中第一个while。特环的作用是让pl指向最后 一个字母第一个
11、ctrcat()函数的作用是将pl以后的字符都放到新串t中悌二个strcat() 函数的作用是将pl以前的字符连接到新串t的后面(注意:在些之前要让pl所指的单元成 为pl前面字符串的结束位置*pl=O)。这时完成左右互换。最后一个while。循环的作用是 删除新串中的所有小写字母采用的删除方法是不是。的字母一律留下,否则不留(即相当 于删除。)void StrOR(void)int i;char *pl/*p2/t80;for(i=0;imaxline;i+)t0=0;p2=xxi;while(*p2)if(*p2=o) pl=p2;P2+;)strcat(tzpl+l);*pl=O,;st
12、rcat(t,xxi);pl=xxi;p2=t;while(*p2)if(*p2l=o) *pl+=*p2;p2+;*pl=0;或者: 注:该题的主要算法是先让两字符指针都指向串尾,然后使一指针(pl)往前移动,当出现不是 字母时则表示在pl+l与P2之间是一个单词,并将该单词存入一变量(tl),最后将tl连接到新串中;接着再往前找第二个单词,依次类推直到字符串头。由此可知新串就 是原串中各单词的倒排。void StrOL(void) ( int i,k;char *pl/p2;char t80ztl80;for(i=0;i=xxi) pl-;memcpy(tl,pl+l,p2-pl);tlp
13、2-pl=O;strcat(t,tl);strcat(tzM n);if(plxxi) k=0;strcpy(xxizt); 原程序如下:# include,stdio.h# includestring.h# includeHconio.hchar xx5080;int maxline=O;int ReadDat(void);void WriteDat(void);void StrOR(void) ( void main() clrscr();if(ReadDat()printf(HCant open the file!n);return; StrOR();WriteDat();system(
14、pauseH);int ReadDat(void)FILE *fp;int i=O;char *p;if(fp=fopen(in.dat,r)=NULL) return 1;while(fgets(xxi,80,fp)!= NULL)p=strchr(xx(i;n,);if(p) *P=O;i+;maxline=i;fclose(fp);return 0;void WriteDat(void)FILE *fp;int i;fp=fopen(out.dat,/w);for(i=0;imaxline;i+)printf(n%snzxxi);fprintf(fpz%sn,xxiD;fclose(fp
15、);4:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制 函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行 倒排,同时去除标点符号,之后把己处理的字符串(应不含标点符号)仍按行重新存入字符串数 组xx中。最后main。函数调用函数WriteDat。把结果xx输出到文件OUT6.DAT中。例如:原文:You He MeI am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。类型:字符串(单词)的倒置和删除。void
16、StrOL(void) /*标准答案*/int IJ,k,strl,l;char c;for(l=0;lmaxline;l+)for(j=0;jstrlen(xxl);j+)c=xxljl;if (0=&=a,&c=z,)| |c=* *);else xxlj=1 *;for(l=0;l=a&xxll=A&xxll=0)for(j=k;j=0;j-)ppj+l=ppU; ppO=xxll; k+;l-;)strcat(ch/pp);strcpy(pp/ );k=l;if(l=-l)break;while(xxllz)&l=0)for(j=k;j=0;j-)ppj+l=ppj; ppO=xxll
17、; k+; I-;)strcat(ch/pp); strcpy(pp,M);k=0;if(l=-l)break;strcpy(xxl,ch);)或者:void StrOL(void)int i,j,k,m,n,ll;char yy80;for(i=0; i =0; j-)if(isalpha(xxij) k+;elsefor(m=l; m=k; m+)yyn+=xxij+m; k=0;if(xxiU=)yyn+=for(m=l; m=k; m+) yyn+=xxij+m;yyn=0; strcpy(xxi,yy);)原程序如下:# includestdio.h# includeustring.
18、h# includeconio.h# includectype.hchar xx5080;int maxline=0;int ReadDat(void);void WriteDat(void);void StrOR(void)void main()clrscr();if(ReadDat()printf(Cant open the file!n);return;StrOR();WriteDat();system(pause);int ReadDat(void)FILE *fp;int i=O;char *p;if(fp=fopen(in.dat/r)=NULL) return 1;while(f
19、gets(xxi/80/fp)!=NULL)p=strchr(xxi;n);if(P)*P=O;i+;maxline=i;fclose(fp);return 0;void WriteDat(void)FILE *fp;int i;fp=fopen(out.dat/w);for(i=0;imaxline;i+)printf(%sn“,xxi);fprintf(fp,%sn”,xxi);fclose(fp);5:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat。读取这 200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 三级 网络技术 上机 题库 答案
限制150内