2022年2022年计算机三级网络技术南开百题 .pdf
《2022年2022年计算机三级网络技术南开百题 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机三级网络技术南开百题 .pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字题目 1:下列程序的功能是:将大于整数m且紧靠 m的 k 个素数存入数组xx。请编写函数num(int m,int k,int xx)实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。例如:若输入17,5,则应输出:19,23,29,31,37。注意:部分源程序已给出。请勿改动主函数main()和函数 readwriteDAT()的内容。-类型:素数。void num(int m,int k,int xx)/*标准答案*/int data=m+1;int half,n=0,I;while(1)half=data/2;for(I=2;Ihalf)xxn
2、=data;n+;if(n=k)break;data+;或者:void num(int m,int k,int xx)int i,j,s=0;for(i=m+1;k0;i+)for(j=2;j0;m+)if(isP(m)xxi+=m;k-;题目 2:已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组 a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0 或 2 或 4 或6 或 8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b 中。最后 main()函数调用写函数writeDat()把结果c
3、nt以及数组b 中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal()/*标准答案*/int bb4;int I,j,k,flag;for(I=0;I200;I+)bb0=aI/1000;bb1=aI%1000/100;bb2=aI%100/10;bb3=aI%10;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 28 页 -for(j=0
4、;j4;j+)if(bbj%2=0)flag=1;else flag=0;break;if(flag=1)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)k=bI;bI=bj;bj=k;题目 5:在文件 in.dat中有 200 个正整数,且每个数均在1000 至 9999 之间。函数 ReadDat()读取这 200 个数存放到数组aa 中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10 个数依次存入数组b 中,如果后三位的数值相等,则按原先的数值进行降序排列。最
5、后调用函数WriteDat()把结果bb 输出到文件out.dat中。例:处理前 6012 5099 9012 7025 8088 处理后 9012 6012 7025 8088 5099 注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。-void jsSort()/*标准答案*/int I,j,data;for(I=0;I199;I+)for(j=I+1;jaaj%1000)data=aaI;aaI=aaj;aaj=data;else if(aaI%1000=aaj%1000)if(aaIaaj)data=aaI;aa
6、I=aaj;aaj=data;for(I=0;I10;I+)bbI=aaI;题目 14:已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该数连续大于该四位数以后的5 个数且该数是奇数,则统计出满足此条件的个数cnt,并把这些四位数按从小到大的顺序存入数组b 中。并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果 cnt 以及数组b 中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件PROG1
7、.C文件中。程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal()/*标准答案*/int I,j,flag=0;int k;for(I=0;IMAX-5;I+)for(j=I+1;jaj)flag=1;else flag=0;break;if(aI%2=0)flag=0;if(flag=1)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)k=bI;bI=bj;bj=k;题目 15:已知数据文件IN.DA
8、T 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,十位数字上的值小于等于个位数字上的值,并且此四位数是偶数,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b 中。最后 main()函数调用写函数writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动主函数
9、main()、读函数readDat()和写函数writeDat()的内容。-void jsVal()/*标准答案*/int I,j;int a1,a2,a3,a4,k;for(I=0;IMAX;I+)a1=aI/1000;a2=aI%1000/100;a3=aI%100/10;a4=aI%10;if(a1=a2)&(a2=a3)&(a3=a4)&(aI%2=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)k=bI;bI=bj;bj=k;题目 20:编写函数jsvalue,它的功能是:求Fibonacci数列中大于t 的最小的一个数,结果由函数返回。
10、其中Fibonacci数列 F(n)的定义为:F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2)最后调用函数writeDat()读取 10 个数据 t,分别得出结果且把结果输出到文件out.dat中。例如:当t=1000 时,函数值为:1597。注意:部分源程序已给出。请勿改动主函数main()和写函数 writeDat()的内容。-int jsValue(int t)/*标准答案*/int f1=0,f2=1,fn;fn=f1+f2;while(fn=t)f1=f2;f2=fn;fn=f1+f2;return fn;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共
11、28 页 -题目 21:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:(1)取 X1 初值为 0.0;(2)X0=X1,把 X1 的值赋给X0;(3)X1=COS(X0),求出一个新的X1;(4)若 X0-X1 绝对值小0.000001,执行步骤(5),否则执行步骤(2);(5)所求 X1 就是方程 cos(X)-X=0的一个实根,作为函数值返回。请编写函数countvalue()实现程序的要求,最后调用函数WRITEDAT()把结果输出到文件OUT17.DAT中。注意:部分源程序已给出。请勿改动主函数main()和输
12、出数据函数writeDAT()的内容。-float countValue()/*标准答案*/float x0,x1=0.0;while(1)x0=x1;x1=cos(x0);if(fabs(x0-x1)=0.000001);return x1;题目 22:请编写函数countvalue(),它的功能是:求n 以内(不包括n)同时能被3 和 7 整数的所有自然数之和的平方根s,并作为函数值返回,最后结果s 输出到文件out.dat中。例如若 n 为 1000 时,函数值应为:s=153.909064。注意:部分源程序已给出。请勿改动主函数main()和输入输出数据函数progreadwrite(
13、)的内容。-double countValue(int n)/*标准答案*/double xy=0.0;int I;for(I=1;In;I+)if(I%3=0&I%7=0)xy+=I;xy=sqrt(double)xy);return xy;double countvalue(int n)int i,j=0;double k;for(i=0;in;i+)if(i%3=0&i%7=0)j+=i;k=sqrt(j);return k;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 28 页 -题目 23:已知在文件in.dat中存有 N 个(个数 200)四位数字的正整数,函数re
14、addat()读取这 N 个正整数并存入数组xx 中。请编制函数calvalue(),其功能要求:1、求出这N个实数的平均值aver;2、分别求出这N个实数的整数部分之和sumint 以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。-void CalValue(void)/*标准答案*/int I;double x,sum=0;for(I=0;IMAXNUM;I+)sumint=sumint+(int)xxI;x=xxI
15、-(int)xxI;sumdec=sumdec+x;sum=sum+xxI;aver=sum/MAXNUM;题目 24:在三位整数(100 至 999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676 等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。注意:部分源程序已给出。请勿改动主函数main()和写函数 writeDat()的内容。-jsValue(int a109)/*标准答案*/int I,j,k=0;int hun,ten,data;for(I=
16、100;I=999;I+)j=10;while(j*j=I)if(I=j*j)hun=I/100;data=I-hun*100;ten=data/10;data=data-ten*10;if(hun=ten|hun=data|ten=data)bbk=I;k+;j+;return k;题目 25:下列程序的功能是:寻找并输出11 至 999 之间的数 m,它满足 m,m2和 m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249 等。满足上述条件的数如 m=11,m2=121,m3=1331 皆为回文数。请编制函数int svalue(long m)实现此功能,
17、如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中。注意:部分源程序已给出。请勿改动主函数main()的内容。-int jsValue(long n)/*标准答案*/int I,strl,half;char xy20;ltoa(n,xy,10);strl=strlen(xy);half=strl/2;for(I=0;I=half)return 1;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 28 页 -else return 0;或者:int jsvalue(long n)int i,aa10,j=0,b=1;while(n)aaj+=n%10;n
18、=n/10;for(i=0;ij/2;i+)if(aai!=aaj-i-1)b=0;return b;题目 26:已知在文件in.dat中存有若干个(个数200)四位数字的正整数,函数 readdat()读取这若干个正整数并存入数组xx 中。请编制函数calvalue(),其功能要求:1、求出这文件中共有多少个正整数totnum;2、求这些数右移1 位后,产生的新数是偶数的数的个数 totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的结果输出到文件out.dat中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数re
19、addat()和输出数据函数writedat()的内容。-void CalValue(void)/*标准答案*/int I,data;for(I=0;I0)totNum+;data=xxI1;if(data%2=0)totCnt+;totPjz+=xxI;totPjz/=totCnt;或者:void Calvalue(void)int i,k,a,b,c,d;for(i=0;iMAXNUM;i+)if(xxi)totNum+;for(i=0;i1;if(k%2=0)totCnt+;totPjz+=xxi;totPjz/=totCnt;题目 27:已知数据文件IN.DAT 中存有 300 个四位
20、数,并已调用读函数ReadDat()把这些数存入数组 a 中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。例如:9123,9-1-2-30,则该数满足条件计算平均值pjz1,且个数 cnt=cnt+1。9812,9-8-1-20,则该数不满足条件计算平均值pjz2.注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt 请勿改动主函数main()、读函数Read
21、Dat()和写函数writeDat()的内容。-void jsValue()/*标准答案*/int I,thou,hun,ten,data,j;for(I=0;I0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jbj)data=bI;bI=bj;bj=data;题目 28:已知数据文件IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组 a 中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把
22、个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd=0且 ab-cd=10 且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b 中,并要计算满足上述条件的四位数的个数cnt。最后 main()函数调用写函数writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数
23、据、主函数main()、读函数readDat()和写函数writeDat()的内容。-void jsVal()/*标准答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I=0&(ab-cd)=10&ab%2=1&cd%2=1&ab!=0&cd!=0)bcnt=aI;cnt+;for(I=0;Icnt-1;I+)for(j=I+1;jcnt;j+)if(bIbj)data=bI;bI=bj;bj=data;题目 33:请编制函数ReadDat()实现从文件IN.DAT 中读取1000 个十进制整数到数组xx中;请编制函数Compute()分别计算出x
24、x 中奇数的个数odd,奇数的平均值ave1,偶数的平均值 ave2 以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。计算方差的公式如下:totfc=1/N(xxi-ave1)2 设 N 为奇数的个数,xxi为奇数,ave1 为奇数的平均值。原始数据文件存放的格式是:每行存放10 个数,并用逗号隔开。(每个数均大于0 且小于等于 2000)注意:部分源程序已给出。请勿改动主函数main()和输出数据函数writeDat()的内容。-int ReadDat(void)/*标准答案*/FILE*fp;int I,j;if(fp=fopen(IN.
25、DAT,r)=NULL)return 1;for(I=0;I100;I+)for(j=0;j10;j+)fscanf(fp,%d,&xxI*10+j);fscanf(fp,n);if(feof(fp)break;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 28 页 -fclose(fp);return 0;void Compute(void)int I,yyMAX;for(I=0;I1000;I+)if(xxI%2)odd+;ave1+=xxI;elseeven+;ave2+=xxI;yyeven-1=xxI;ave1/=odd;ave2/=even;for(I=0;Ieve
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机三级网络技术南开百题 2022 计算机 三级 网络技术 南开
限制150内