上机考试题库-南开100题.pdf
《上机考试题库-南开100题.pdf》由会员分享,可在线阅读,更多相关《上机考试题库-南开100题.pdf(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2011年计算机等级考试三级上机考试题库题目1请编写一个函数jsVahie(int m,int k,int x x),该函数的功能是:将大于整数m 且紧靠m 的 k个素数存入数组xx传回。最后调用函数writeDat。读 取 10组数据,分别得出结果且把结果输出到文件out.dat中。部分源程序存在文件progl.c中。例 如:若 输 入 1 7 5 则应输出:19,23,29,31,370请勿改动主函数main。和写函数writeDat。的内容。int isP(int m)(int i;for(i=2;i0;m+)if(isP(m)xxs+=m;k;)题目2已知数据文件IN.DAT中存有20
2、0个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsV al(),其功能是:如果四位数各位上的数字均是0 或 2 或 4 或 6 或8,则统计出满足此条件的个数S 3 并把这些四位数按从大到小的顺序存入数组b 中。最后m ain()函数调用写函数writeDat()把 结 果 e n t以 及 数 组 b 中符合条件的四位数输出到OUT.DAT文件中。void jsVal()int i,j,qw,bw,sw,gw;for(i=0;iMAX;i+)qw=ai/1000;bw=ai/100%10;sw=ai%100/10;gw=ai%10;if(qw&qw%2=0
3、&bw%2=0&sw%2=0&gw%2=0)bcnt+=ai;)for(i=O;icnt-l;i+)for(j=i+1 ;jcnt;j-H-)if(bibj)qw=bi;bi=bfj;bfj=qw;题目3(字符型题)函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数 StrO R(),其函数的功能是:以行为单位依次把字符串中所有小写字母。左边的字符串内容移到该串的右边存放,然后把小写字母。删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组x x 中。最 后 main。函数调用函数 WriteDat()把结
4、果xx输出到文件OUT5.DAT中void StrOR(void)int i,righto,j,s,k;char tem80;for(i=0;i=O;j)k=0;memset(tem,0,80);if(xxiU=o)righto=j;for(s=ri ghto+1;sstrlen(xxi);s+)temk+=xxis;for(s=0;srighto;s+)if(xxis!=o)temk+=xxis;strcpy(xxi,tem);)else continue;)题目4函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx 中,请编制函数 StrOL(),其函数的功能
5、是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组x x 中,最后调用函数writeDat。把结果xx输出到文件0UT6.DAT中。例如:原文:You He MeI am a student.结果:Me He Youstudent a am Ivoid StrOL(void)int i,j,k,s,m,strl;char str80;fbr(i=O;i=O;j-)if(isalpha(xxij)k+;else for(m=1 ;m=k;m+)str s+=xxi j+m;k=0;)if(!isalpha(xxij)str
6、s+=)fbr(m=l;m=k;m+)strs+=xxi 0+m;strs=,O,;strcpy(xxi,str);)题目5(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至 9999之间。函数ReadDat。读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b b 中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat。把结果b b 输出到文件out.dat 中。例:处理前 6012 5099 9012 7025 8088处理后 9
7、012 6012 7025 8088 5099void jsSort()(int i,j,data;for(i=0;i199;i+)for(j=i+l;jaaj%1000llaai%1000=aa|j%1000&aa(ilaa|j)data=aai;aai=aaj;aaj=data;for(i=0;i10;i+)bbi=aai;)题目6 正整数排序在文件in.dat中有200个正整数,且每个数均在1000至 9999之间。函数ReadDat。读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后.三位的大小进行降序排列,然后取出满足此条件的前10个数依次
8、存入数组b 中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果b b 输出到文件out.dat 中。例:处理前 9012 5099 6012 7025 8088处理后 5099 8088 7025 6012 9012void jsSort()int ij,data;for(i=0;i199;i+)for(j=i+1;j200;j+)if(aai%1000aaj)data=aai;aai=aa|j;aaj=data;for(i=0;i10;i+)bbi=aai;题目7(结构体操作题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品
9、代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出.函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat。,其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。void SortDat()inti.j;PRO xy;for(i=0;i99;i+)for(j=i+1 ;j 100;j+)if(strcmp(selli.dm
10、,sellj.dm)Ollstrcmp(selli.dm,sellj.dm)=O&selli.jesell(j.je)xy=sell|i|;sell i=sell|j|;sellj=xy;)题目8(字符替换题)函数ReadDat()实现从文件ENGIN中读取篇英文文章,存入到字符串数组x x中;请编制函数encryptChar。,按给定的替代关系对数组x x中的所有字符进行替代,仍存入数组x x的对应的位置上,最后调用函数WriteDat。把结果x x输出到文件PS1.DAT中。替代关系:f(p)=p*ll mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCH值
11、),如果计算后f(p)值小于等于3 2或大于1 3 0,则该字符不变,否则将f(p)所对应的字符进行替代。(注意中间变量用无符号整型),部分源程序存在文件progl.c中。原始数据文件存放的格式是:每行的宽度均小于8 0个字符。void encryptChar()inti,j;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)if(xxij*ll%256130)continue;else xxij=xxij*ll%256;题目9(字符串排序题)函数ReadDat。实现从文件IN.DAT中读取一篇英文文章存入到字符串数组x x中,请编制函数SortCharD
12、O,其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组x x中,最后调用函数writeDat()把 结 果x x输出到文件OUT2.DAT 中。例:原文:dAe.BfC.CCbbAA结 果:fedCBA.bbCCAAvoid SortCharD(void)int i,j,k,strl;char ch;for(i=0;imaxline;i+)strl=strlen(xxi);for(j=0;jstrl-1 ;j+)for(k=j+1 ;kstrl;k+)if(xxijxxik)ch=xxij;xxij=xxik;xxik=ch;)题目10(替换字符题)
13、函数ReadDat。实现从文件IN.DAT中读取一篇英文文章存入到字符串数组x x中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组x x中,最后调用函数writeDat。把结果xx输出到文件OUT 1.DAT中。例:原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLikvoid ConvertChar A(void)inti,j;for(i=0;imaxline;i+
14、)for(j=0;j=a&xxij=y)xxij+=l;题目11(字符串字母移位题)程序progl.c的功能是:把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()把结果输出到文件be 1.out中。例如:s 字符串中原有的内容为:M n.l23Zxy,则调用该函数后,结果为:No.l23Ayzovoid chg(char*s)inti;for(I=0;I=,a&si=,A&si=,Yr)si+=l;)题目 12(结构体运算
15、题题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,void SortDat()PRO xy;for(i=0;i99;i+)for(j=i+l;jOllstrcmp(selli.mc,sell|j.m
16、c)=O&selli.jesell|jl.je)xy=selli;selli=sellj;sellj=xy;)题 目 13(结构体运算题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat。是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数Wr
17、iteDat。把结果输出到文件OUT9.DAT中。void SortDat()PRO xy;for(i=0;i99;i+)for0=i+l;jOllstrcmp(selli.dm,sell|j.dm)=O&sellfi.jesellfj.je)xy=selli;selli=sellj;sellj=xy;题目14(整数统计排序题)已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsV al(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统
18、计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数writeDat()把结果ent以及数组b 中符合条件的四位数输出到OUT.DAT文件中。void jsVal()int i,j,flag;for(i=0;iMAX-5;i+)for(j=i+1 ;jaj&ai%2)tlag=l;else flag=O;break;if(flag=l)bcnt+=ai;)for(i=0;icnt-1 ;i+)for(j=i+l;jbj)flag=bi;bi=bj;bj=flag;)题 目 15(整数各位数字运算排序题)已知数据文件IN.DAT中存有200个四位数,并已调用读函
19、数readDat。把这些数存入数组a中,请考生编制一函数jsV al(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数writeDat()把结果en t以及数组b 中符合条件的四位数输出到OUT.DAT文件中。voidjsVal()int i,j;int qw,bw,sw,gw;for(i=0;iMAX;i+)qw=ai/l 000;bw=ai%1000/100;sw=ai%100/10;
20、gw=ai%10;if(qw=bw)&(bw=sw)&(sw=gw)&(ai%2=0)bcnt+=ai;)for(i=0;icnt-1;i+)fbr(j=i+1 ;jbj)qw=bi;bi=bj;bj=qw;)题目16(字符替换题)函数ReadDat。实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数 StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCH值右移4 位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组x x 中,最后调用函数writeDa
21、t。把结果xx输出到文件OUT8.DAT中。void StrCharJR()int i,j;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)xxijj+=(xxijj4);(右移四位的表达方式)题目17(亲朋字符替换题)函数READDAT()实现从文件1N.DAT中读取 篇英文文章存入到字符串数组X X 中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的 ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的
22、ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组X X 中,最后调用函数WRITEDKT。把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.void ChA(void)int i,j;char ch;for(i=0;imaxline;i+)ch=xxi|0|;for(j=0;jstrlen(xx|i|)-1 ;j+)xxij+=xxij+l;xxistrlen(xxi)-l+=ch;strrev(xxi);)题目18函数Rea
23、dDat。实现从文件ENGIN中读取一篇英文文章,存入到字符串数组x x 中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置匕 最后调用函数WriteDat。把结果xx输出到文件PS10.DAT中。替代关系:f(p)=p*ll mod 256(p 是数组中某一个字符的ASCH值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于3 2,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar()int i,j;fbr(i=O;imaxline;i+)for(
24、j=0;jstrlen(xxi);j+)if(xxij*ll%256=32llxxiJj%2=0)continue;else xxfij=xxij*ll%256;题目19(单词个数统计题)编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2 的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为”asdasasdfgasdaszx67asdmklo,子字符串为“as”,函数返回值是6。(表明了返回值是整数型)函数ReadWrite。实现从文件in.dat中读取两个字符串,并调用函数行ndStr(),最后把结果输出到文件out.dat中。int
25、findStr(char*str,char*substr)int i,j,lenl,len2,cnt=0,flag;lenl=strlen(str);len2=strlen(substr);fbr(i=0;ilenl;i+4-)for(j=0;jlen2;j+)if(str i-Fj=substrj)fl ag=1;else flag=O;break;if(flag=l)cnt+;)return ent;)题目20(Fibonacci数列题)编写函数jsV alue,它的功能是:求 Fibonacci数列中大于t 的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 考试 题库 南开 100
限制150内