2011年9月计算机等级考试三级上机考试题库-南开100题.pdf
《2011年9月计算机等级考试三级上机考试题库-南开100题.pdf》由会员分享,可在线阅读,更多相关《2011年9月计算机等级考试三级上机考试题库-南开100题.pdf(49页珍藏版)》请在咨信网上搜索。
2011 年计算机等级考试三级上机考试题库题目 1 请编写一个函数jsValue(int m,int k,int xx),该函数的功能是:将大于整数m 且紧靠 m 的 k个素数存入数组xx 传回。最后调用函数writeDat()读取 10 组数据,分别得出结果且把结果输出到文件out.dat 中。部分源程序存在文件prog1.c 中。例如:若输入17 5 则应输出:19,23,29,31,37。请勿改动主函数main()和写函数writeDat()的内容。int isP(int m)int i;for(i=2;i0;m+)if(isP(m)xxs+=m;k-;题目 2 已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0 或 2 或 4 或 6 或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b 中。最后main()函数调用写函数writeDat()把结果cnt 以及数组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&bw%2=0&sw%2=0&gw%2=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)qw=bi;bi=bj;bj=qw;*题目 3(字符型题)函数 ReadDat()实现从文件IN.DAT 中读取一篇英文文章存入到字符串数组xx 中;请编制函数 StrOR(),其函数的功能是:以行为单位依次把字符串中所有小写字母o 左边的字符串内容移到该串的右边存放,然后把小写字母o 删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx 中。最后main()函数调用函数 WriteDat()把结果 xx 输出到文件OUT5.DAT 中void StrOR(void)int i,righto,j,s,k;char tem80;for(i=0;i=0;j-)k=0;memset(tem,0,80);if(xxij=o)righto=j;for(s=righto+1;sstrlen(xxi);s+)temk+=xxis;for(s=0;srighto;s+)if(xxis!=o)temk+=xxis;strcpy(xxi,tem);else continue;*题目 4 函数 ReadDat()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组xx 中,请编制函数 StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx 中,最后调用函数writeDat()把结果 xx 输出到文件OUT6.DAT 中。例如:原文:You He Me I am a student.结果:Me He You student a am I void StrOL(void)int i,j,k,s,m,strl;char str80;for(i=0;i=0;j-)if(isalpha(xxij)k+;else for(m=1;m=k;m+)strs+=xxij+m;k=0;if(!isalpha(xxij)strs+=;for(m=1;m=k;m+)strs+=xxij+m;strs=0;strcpy(xxi,str);*题目 5(整数排序题)在文件 in.dat 中有 200 个正整数,且每个数均在1000 至 9999 之间。函数ReadDat()读取这200 个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10 个数依次存入数组bb 中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb 输出到文件out.dat 中。例:处理前6012 5099 9012 7025 8088 处理后9012 6012 7025 8088 5099 void jsSort()int i,j,data;for(i=0;i199;i+)for(j=i+1;jaaj%1000|aai%1000=aaj%1000&aaiaaj)data=aai;aai=aaj;aaj=data;for(i=0;i10;i+)bbi=aai;*题目 6 正整数排序在文件 in.dat 中有 200 个正整数,且每个数均在1000 至 9999 之间。函数ReadDat()读取这200 个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10 个数依次存入数组b 中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb 输出到文件out.dat 中。例:处理前9012 5099 6012 7025 8088 处理后5099 8088 7025 6012 9012 void jsSort()int i,j,data;for(i=0;i199;i+)for(j=i+1;j200;j+)if(aai%1000aaj)data=aai;aai=aaj;aaj=data;for(i=0;i10;i+)bbi=aai;*题目 7(结构体操作题)已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称mc(字符型 10 位),单价 dj(整型),数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组 sell 中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT 中。void SortDat()int i,j;PRO xy;for(i=0;i99;i+)for(j=i+1;j100;j+)if(strcmp(selli.dm,sellj.dm)0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je)xy=selli;sell i=sellj;sellj=xy;*题目 8(字符替换题)函数 ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果 xx 输出到文件PS1.DAT 中。替代关系:f(p)=p*11 mod 256(p 是数组中某一个字符的ASCII 值,f(p)是计算后新字符的 ASCII 值),如果计算后f(p)值小于等于32 或大于 130,则该字符不变,否则将f(p)所对应的字符进行替代。(注意中间变量用无符号整型),部分源程序存在文件prog1.c 中。原始数据文件存放的格式是:每行的宽度均小于80 个字符。void encryptChar()int i,j;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)if(xxij*11%256130)continue;else xxij=xxij*11%256;*题目9(字符串排序题)函数 ReadDat()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组xx 中,请编制函数 SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx 中,最后调用函数writeDat()把结果xx 输出到文件OUT2.DA T 中。例:原文:dAe,BfC.CCbbAA 结果:fedCBA.bbCCAA void 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(替换字符题)函数 ReadDat()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组xx 中,请编制函数 ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx 中,最后调用函数 writeDat()把结果 xx 输出到文件OUT1.DAT 中。例:原文:Adb.Bcdza abck.LLhj 结果:Aec.Bdeab bcdl.LLik void ConvertCharA(void)int i,j;for(i=0;imaxline;i+)for(j=0;j=a&xxij=y)xxij+=1;*题目 11(字符串字母移位题)程序 prog1.c 的功能是:把 s 字符串中的所有字母改写成该字母的下一个字母,字母 z 改写成字母 a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()把结果输出到文件 bc1.out 中。例如:s 字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为:No.123Ayz。void chg(char*s)int I;for(I=0;I=a&si=A&si=Y)si+=1;*题目12(结构体运算题题)已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称mc(字符型 10 位),单价 dj(整型),数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组 sell 中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell 中,void SortDat()int i,j;PRO xy;for(i=0;i99;i+)for(j=i+1;j0|strcmp(selli.mc,sellj.mc)=0&selli.jesellj.je)xy=selli;selli=sellj;sellj=xy;*题目 13(结构体运算题)已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称mc(字符型 10 位),单价 dj(整型),数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组 sell 中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT9.DA T 中。void SortDat()int i,j;PRO xy;for(i=0;i99;i+)for(j=i+1;j0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je)xy=selli;selli=sellj;sellj=xy;*题目14(整数统计排序题)已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt 并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数 writeDat()把结果 cnt 以及数组b 中符合条件的四位数输出到OUT.DAT 文件中。void jsVal()int i,j,flag;for(i=0;iMAX-5;i+)for(j=i+1;jaj&ai%2)flag=1;else flag=0;break;if(flag=1)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)flag=bi;bi=bj;bj=flag;*题目 15(整数各位数字运算排序题)已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt 并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数writeDat()把结果 cnt 以及数组b 中符合条件的四位数输出到OUT.DAT 文件中。void jsVal()int i,j;int qw,bw,sw,gw;for(i=0;iMAX;i+)qw=ai/1000;bw=ai%1000/100;sw=ai%100/10;gw=ai%10;if(qw=bw)&(bw=sw)&(sw=gw)&(ai%2=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)qw=bi;bi=bj;bj=qw;*题目16(字符替换题)函数 ReadDat()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组xx 中,请编制函数 StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII 值右移 4 位,然后把右移后的字符ASCII 值再加上原字符的ASCII 值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx 中,最后调用函数writeDat()把结果 xx 输出到文件OUT8.DAT 中。void StrCharJR()int i,j;for(i=0;imaxline;i+)for(j=0;j4);(右移四位的表达方式)*题目 17(亲朋字符替换题)函数 READDA T()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组XX 中;请编制函数 CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII 值加第二个字符的 ASCII 值,得到第一个亲朋字符,第二个字符的ASCII 值加第三个字符的ASCII 值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDA T()把结果 XX 输出到文件OUT9.DAT 中.原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格.void ChA(void)int i,j;char ch;for(i=0;imaxline;i+)ch=xxi0;for(j=0;jstrlen(xxi)-1;j+)xxij+=xxij+1;xxistrlen(xxi)-1+=ch;strrev(xxi);*题目 18 函数 ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果 xx 输出到文件PS10.DAT 中。替代关系:f(p)=p*11 mod 256(p 是数组中某一个字符的ASCII 值,f(p)是计算后新字符的 ASCII 值),如果原字符的ASCII 值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将 f(p)所对应的字符进行替代。void encryptChar()int i,j;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)if(xxij*11%256=32|xxij%2=0)continue;else xxij=xxij*11%256;*题目 19(单词个数统计题)编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2 的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为 as,函数返回值是6。(表明了返回值是整数型)函数 ReadWrite()实现从文件in.dat 中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out.dat 中。int findStr(char*str,char*substr)int i,j,len1,len2,cnt=0,flag;len1=strlen(str);len2=strlen(substr);for(i=0;ilen1;i+)for(j=0;jlen2;j+)if(stri+j=substrj)flag=1;else flag=0;break;if(flag=1)cnt+;return cnt;*题目 20(Fibonacci 数列题)编写函数jsValue,它的功能是:求Fibonacci 数列中大于t 的最小的一个数,结果由函数返回。其中Fibonacci 数列 F(n)的定义为:F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2)最后调用函数writeDat()读取 50 个数据 t,分别得出结果且把结果输出到文件out.dat 中。例如:当t=1000 时,函数值为:1597。int jsValue(int t)int f0=0,f1=1,fn;fn=f0+f1;while(fn=0.000001);return x1;注:本题在无忧或捷成模拟盘中,需定义double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。*题目 22(平方根问题)请编写函数countValue(),它的功能是:求n 以内(不包括n)同时能被3 与 7 整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s 输出到文件out.dat 中。例如若 n 为 1000 时,函数值应为:s=153.909064。double countValue(int n)int i;double s=0.0;for(i=1;in;i+)if(i%21=0)s+=i;return sqrt(s);*题目 23(实数运算题)已知在文件in.dat 中存有N 个(个数 200)实数,函数readdat()读取这 N 个实数并存入数组 xx 中。请编制函数calvalue(),其功能要求:1、求出这N 个实数的平均值aver;2、分别求出这N 个实数的整数部分之和sumint 以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat 中。注意:部分源程序已给出。void CalValue(void)int i;for(i=0;iN;i+)sumint+=(long)xxi;sumdec+=xxi-(long)xxi;aver+=xxi;aver/=N;*题目 24(完全平方数问题)下列程序prog1.c 的功能是:在三位整数(100 至 999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676 等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。int jsValue(int bb)int i,j,k=0;int hun,ten,data;for(i=10;i32;i+)j=I*I;hum=j/100;ten=j%100/10;data=j%10;if(hum=ten|hum=data|ten=data)bbk+=j;return k;*题目 25(回文数问题)下列程序的功能是:寻找并输出11 至 999 之间的数m,它满足 m,m2 和 m3 均为回文数。所谓回文数是指其各位数字左右对称的整数,例如 121,676,94249 等。满足上述条件的数如 m=11,m2=121,m3=1331 皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat 中。int jsValue(long n)int i,strl,half;char xy20;ltoa(n,xy,10);/*注意这里不能使用itoa()函数,因为n 是 long 型的*/strl=strlen(xy);half=strl/2;for(i=0;i=half)return 1;else return 0;或者下面的解法:int jsValue(long n)long int s=0,k;k=n;while(k)s=s*10+k%10;k/=10;if(s=n)return 1;if(s!=n)return 0;输出结果为:m=11,m*m=121,m*m*m=1331 m=101,m*m=10201,m*m*m=1030301 m=111,m*m=12321,m*m*m=1367631*题目26(整数统计运算题)已知在文件IN.DA T 中存有若干个(个数200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx 中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1 位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT 中。void CalValue(void)int i,data;for(i=0;i0)totNum+;data=xxi1;if(data%2=0)totCnt+;totPjz+=xxi;if(totCnt=0)totPjz=0;else totPjz/=totCnt;*题目 27(整数各位数字运算题)已知数据文件in.dat 中存有 300 个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b 中,然后对数组b 的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat 文件。例如:9123,9-1-2-30,则该数满足条件存入数组b 中,且个数cnt=cnt+1。9812,9-8-1-20,则该数不满足条件忽略。jsValue()int i,j,qw,bw,sw,gw;for(i=0;i0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)qw=bi;bi=bj;bj=qw;*题目28(整数各位打散组合运算题)已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd=0 且 ab-cd=10 且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b 中,并要计算满足上述条件的四位数的个数cnt。最后 main()函数调用写函数writeDat()把结果cnt 以及数组b 中符合条件的四位数输出到OUT.DAT 文件中。void jsVal()int i,j,thou,hun,ten,data,ab,cd;for(i=0;i=0&(ab-cd)=10&cd=10)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bi=10 且 ab-cd=20 且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b 中,并要计算满足上述条件的四位数的个数cnt。void jsVal()int i,j,qw,bw,sw,gw,ab,cd;for(i=0;i=10&ab-cd=20&ab%2=0&cd%2=0&qw!=0&gw!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)qw=bi;bi=bj;bj=qw;*题目 30(整数统计排序题)已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt 并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数 writeDat()把结果 cnt 以及数组b 中符合条件的四位数输出到OUT.DAT 文件中。void jsVal()int i,j,flag;for(i=0;iMAX-5;i+)for(j=i+1;j=i+5;j+)if(aiaj&ai%2=0)flag=1;else flag=0;break;if(flag=1)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)flag=bi;bi=bj;bj=flag;*题目31(结构体运算题)已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称mc(字符型 10 位),单价 dj(整型),数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组 sell 中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT4.DAT 中。void SortDat()int i,j;PRO xy;for(i=0;i99;i+)for(j=i+1;j100;j+)if(selli.jesellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0)xy=selli;selli=sellj;sellj=xy;*题目 32(结构体运算题)已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称mc(字符型 10 位),单价 dj(整型),数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组 sell 中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT7.DA T 中。void SortDat()int i,j;PRO xy;for(i=0;i99;i+)for(j=i+1;j100;j+)if(strcmp(selli.mc,sellj.mc)sellj.je)xy=selli;selli=sellj;sellj=xy;*题目33(方差运算题)请编制函数ReadDat()实现从文件IN.DA T 中读取 1000 个十进制整数到数组xx 中;请编制函数 Compute()分别计算出xx 中偶数的个数even,奇数的平均值ave1,偶数的平均值ave2以及方差totfc 的值,最后调用函数WriteDat()把结果输出到OUT.DAT 文件中。计算方差的公式如下:N 2 totfc=1/N(xxi-ave2)i=1 设 N 为偶数的个数,xxi 为偶数,ave2 为偶数的平均值。原始数据文件存放的格式是:每行存放10 个数,并用逗号隔开。(每个数均大于0 且小于等于 2000)/*编制函数ReadDat()的部分*/for(i=0;iMAX;i+)fscanf(fp,%d,&xxi);if(i+1)%10=0)fscanf(fp,n);/*/void Compute(void)int i,yyMAX;for(i=0;iMAX;i+)yyi=0;for(i=0;iMAX;i+)if(xxi%2=0)yyeven+=xxi;ave2+=xxi;else odd+;ave1+=xxi;if(odd=0)ave1=0;else ave1/=odd;if(even=0)ave2=0;else ave2/=even;for(i=0;ieven;i+)totfc+=(yyi-ave2)*(yyi-ave2)/even;*题目 34(素数题)无忧 id 102 题提供了求素数isPrime()函数程序 prog1.c 的功能是:选出100 以上 1000 之内所有个位数字与十位数字之和被10 除所得余数恰是百位数字的素数(如 293)。计算并输出上述这些素数的个数cnt 以及这些素数值的和 sum。请考生编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果 cnt和 sum 输出到文件bc10.out 中。int isPrime(int m)int i;for(i=2;im;i+)if(m%i=0)return 0;return 1;void countValue()int i,j,bw,sw,gw;for(i=100;i1000;i+)bw=i/100;sw=i%100/10;gw=i%10;if(isPrime(i)&(gw+sw)%10=bw)cnt+;sum+=i;*题目35(级数运算题)某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1(注:n-2 与 n-1 为下标)下列程序prog1.c 的功能是:要求依次对于整数M=100,1000 和 10000 求出对应的n值,使其满足:Sn=M,这里Sn=A1+A2+.+An,并依次把n 值存入数组单元b0,b1 和 b2中,请编制jsValue()函数来实现此功能,最后调用函数writeDat()把数组b 中的值输出到out.dat 文件中。请勿改动主函数main()和写函数writeDat()的内容。#include int b3;jsValue()int a1=1,a2=1,a12,sn,k=2;sn=a1+a2;while(1)a12=a1+2*a2;if(sn=100)b0=k;if(sn=1000)b1=k;if(sn=10000)b2=k;break;sn=sn+a12;a1=a2;a2=a12;k+;运行结果为:M=100,n=6 M=1000,n=9 M=10000,n=11*题目 36(字符替换题)函数 ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果 xx 输出到文件pS6.DAT 中。替代关系:f(p)=p*11 mod 256(p 是数组中某一个字符的ASCII 值,f(p)是计算后新字符的 ASCII 值),如果计算后f(p)值小于等于32 或 f(p)对应的字符是数字0 至 9,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar()int i,j;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)if(xxij*11%256=0&xxij*11%256=9)continue;else xxij=xxij*11%256;*题目 37(字符替换题)函数 ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果 xx 输出到文件PS7.DAT 中。替代关系:f(p)=p*11 mod 256(p 是数组中某一个字符的ASCII 值,f(p)是计算后新字符的 ASCII 值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将 f(p)所对应的字符进行替代。void encryptChar()int i,j;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)if(xxij*11%256=A&xxij=Z)continue;else xxij=xxij*11%256;*题目 38(结构体运算题)已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位),产品名称mc(字符型 10 位),单价 dj(整型),数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组 sell 中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT 中。void SortDat()int i,j;PRO xy;for(i=0;i99;i+)for(j=i+1;j0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je)xy=selli;selli=sellj;sellj=xy;*题目39(选票问题)现有一个10 个人 100 行的选票数据文件IN.DA T,其数据存放的格式是每条记录的长度均为10 位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0 和 1,1 表示此人被选中,0 表示此人未被选中,全选或不选均为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx 中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy0 到 yy9 中。把结果 yy 输出到文件OUT.DAT中void CountRs(void)int i,j,count;for- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2011 计算机等级考试 三级 上机 考试 题库 南开 100
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文