2022年2022年计算机三级网络技术编程题集 .pdf
《2022年2022年计算机三级网络技术编程题集 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机三级网络技术编程题集 .pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、按结构体成员筛选并排序已知在文件 IN.DAT 中存有 100个产品销售记录, 每个产品销售记录由产品代码dm(字符型 4 位) 、产品名称 mc(字符型 10 位) 、单价 dj(整型) 、数量 sl(整型) 、金额 je(长整型)几部分组成。函数ReadDat ()的功能是读取这100 个销售记录并存入结构数组sell 中。请编制函数 SortDat() ,其功能要求:按产品名称从小到大进行排列, 若产品名称相同, 则按金额从小到大进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT.DAT 中。void SortDat( ) int
2、 i, j; PRO temp; for(i=0;i99;i+) for(j=i+1;j0) temp=selli; selli=sellj; sellj=temp; else if(strcmp(selli.mc,sellj.mc)= =0) if(selli.jesellj.je) temp=selli; selli=sellj; 二、数位分解后按数筛选统计并排序1、已知数据文件 IN.DAT 中存有 300 个 4 位数,并已调用读函数readDat( )把这些数存入数组 a 中。请编制函数 jsValue() ,其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个
3、数cnt,再把所有满足此条件的 4位数依次存入数组b中, 然后对数组 b 的 4位数按从小到大的顺序进行排序,最后调用写函数 writeDat()把数组 b 中的数输出到 OUT.DAT 文件中。void jsValue( ) int i, j; int a1,a2,a3,a4; int temp; for(i=0;i300;i+) a4=ai/1000; a3=ai%1000/100; a2=ai%100/10; a1=ai%10;if (a4+a1= =a3+a2) bcnt=ai; cnt+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
4、- - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - for(i=0;icnt-1;i+) for(j=i+1;jbj) temp=bi; bi=bj; bj=temp; 2、已知数据文件 IN.DAT 中存有 200 个 4 位数,并已调用读函数readDat( )把这些数存入数组 a 中。请编制一函数jsVal() ,其功能是:如果4 位数各位上的数字均是奇数,则统计出满足此条件的个数cnt,并把这些 4 位数按从大到小的顺序存入数组 b 中。最后调用写函数writeDat()把结果 cnt 及数组 b 中符合条件的 4
5、 位数输出到 OUT.DAT 文件中。void jsVal( ) int i, j; int a1,a2,a3,a4; int temp; for(i=0;i200;i+) a4=ai/1000; a3=ai%1000/100; a2=ai%100/10; a1=ai%10;if(a4%2!=0&a3%2!=0&a2%2!=0&a1%2!=0) bcnt=ai; cnt+; for(i=0;icnt-1;i+) for(j=i+1;jcnt;j+) if(bibj) temp=bi; bi=bj; bj=temp; 3、已知数据文件 IN1.DAT 和 IN2.DAT 中分别存有 100 个两
6、位十进制数, 并且已调用读函数 readDat( ) 把这两个文件中的数存入数组a和 b中。 请编制一函数 jsVal() ,实现的功能是依次对数组a 和 b 中的数按条件重新组成一个新数并依次存入数 c 中,再对数组c 中的数按从小到大的顺序进行排序,最后调用输出函数writeDat()把结果 c 输出到 OUT.DAT 文件中。组成新数的条件: 如果数组 a和 b 中相同下标位置的数必须符合一个是偶数,另一个是奇数,则数组 a中的数按二进制数左移八位后再加上数组b 对应位置上的数,把这样组成的新数依次存入数组c 中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
7、- - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - void jsVal( ) int i, j; int temp; for(i=0;i=MAX-1;i+) if(ai%2= =0)&(bi%2!=0) (ai%2!=0&(bi%2= =0) ci=(ai8)+bi; cnt+; for(i=0;iMAX-1;i+) for(j=0;jcj+1) temp=cj; cj=cj+1; 4、下列程序的功能是: 选出 5000以下符合条件的自然数。 条件是:千位数字与百位数字之和等于数位数字与各位数字之和,
8、且千位数字与百位数字之和等于个位数字与千位数字之差的10 倍。计算并输出这些4 位自然数的个数cnt 及这些数的和 sum.请编写函数 countValue( )实现程序的要求, 最后调用函数 writeDat()把结果 cnt和 sum输出到 OUT.DAT 文件中。void countValue( ) int i; int a1,a2,a3,a4; for(i=5000;i=1000;i- -) a4=i/1000; a3=i%1000/100; a2=i%100/10; a1=i%10;if(a4+a3= =a2+a1&a4+a3= =(a1-a4)*10) cnt+; sum+=I;
9、5、已知数据文件 IN.DAT 中存有 200 个 4 位数,并已调用读函数readDat( )把这些数存入数组 a 中。请编制一函数jsVal() ,其功能是:把一个4 位数的千位数上的值减百位数上的值再减十位数上的值最后减个位数上的值,如果得出的值大于等于零且此 4 位数是奇数, 则统计出满足此条件的数的个数cnt并把这些数存入数组 b 中,然后对数组 b 的 4 位数按从小到大的顺序进行排序,最后调用函数writeDat()把结果 cnt 及数组 b 中符合条件的 4 位数输出到 OUT.DAT 文件中。void jsVal( ) 名师资料总结 - - -精品资料欢迎下载 - - - -
10、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - int i, j; int a1,a2,a3,a4; int temp; for(i=0;i=0)&ai%2!=0) bcnt=ai; cnt+; for(i=0;icnt-1;i+) for(j=i+1;jbj) temp=bi; bi=bj; bj=temp; 三、数位分解后按数筛选及求平均值已知数据文件 IN.DAT 中存有 300 个 4 位数,并已调用读函数 readDat( )把这些数存入数组 a 中。请编制函数 jsVa
11、lue() ,其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的4 位数的平均值 pjz1,以及所有不满足此条件的4 位数的平均值 pjz2,最后调用函数 writeDat()把结果 cnt,pjz1,pjz2 输出到 OUT.DAT 文件中。例如: 7153,7+1=5+3,则该数满足条件,计算平均值pjz1,且个数 cnt=cnt+1。8129,8+12+9,则该数不满足条件,计算平均值pjz2。void jsValue( ) int i, n=0; int a1,a2,a3,a4; for(i=0;i=0且 ab-cd=10 且两个
12、数均是奇数, 同时两个新十位数字均不为零,则将满足此条件的4 位数按从大到小的顺序存入数组b 中,并要计算满足上述条件的4 位数的个数 cnt,最后调用函数 writeDat()把结果 cnt 及数组 b 中符合条件的4 位数输出到 OUT.DAT文件中。void jsVal( ) int i, j; int a1,a2,a3,a4; int temp; int ab,cd; for(i=0;i=0&(ab-cd)=10&ab%2= =1&cd%2= =1&a4!=0&a1!=0) bcnt=ai; cnt+; for(i=0;icnt-1;i+) for(j=i+1;jcnt;j+) if(
13、bibj) temp=bi; bi=bj; bj=temp; 2、已知数据文件 IN1.DAT 和 IN2.DAT 中分别存有 100 个两位十进制数, 并且已名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 25 页 - - - - - - - - - 调用读函数 readDat( ) 把这两个文件中的数存入数组a和 b中。 请编制一函数 jsVal() ,实现的功能是依次对数组a 和 b 中的数按条件重新组成一个新数并依次存入数 c 中,再对数组c 中的数按从小到大的顺
14、序进行排序,最后调用输出函数writeDat()把结果 c 输出到 OUT.DAT 文件中。组成新数的条件: 如果数组 a 和 b 中相同下标位置的数均是奇数,则数组 a 中十位数字为新数的千位数字, 个位数字仍未新数的个位数字,数组 b 中的十位数字为新的百位数字,个位数字为新的十位数字,这样组成的新数并存入数组c中。例如: a:12 31 24 15 21 15 b:32 45 17 27 18 15 c:3451 1275 1155 排序后 c;1155 1275 3451 void jsVal( ) int i, j; int temp; for(i=0;i=MAX-1;i+) if(
15、ai%2!=0)&(bi%2!=0) ci=(ai/10)*1000+(bi/10)*100+(bi%10)*10+(ai%10); cnt+; for(i=0;iMAX-1;i+) for(j=0;jcj+1) temp=cj; cj=cj+1; cj+1=temp; 五、根据相邻数大小进行筛选统计并排序已知数据文件 IN.DAT 中存有 200 个 4 位数,并已调用读函数 readDat( )把这些数存入数组 a 中。请编制一函数jsVal() ,其功能是:依次从数组a 中取出一个 4位数,如果该 4 位数连续小于该4 位数以后的 5 个数且该数是偶数 (该 4 位数以后不满 5 个数,
16、则不统计),则统计出满足此条件的数的个数cnt 并把这些 4 位数按从小到大的顺序存入数组b 中,最后调用函数writeDat()把结果 cnt 及数组 b 中符合条件的 4 位数输出到 OUT.DAT 文件中。void jsVal( ) int i, j; int temp; for(i=0;i=MAX-5;i+) if(aiai+1&aiai+2&ai ai+3&aiai+4&aiai+5&ai%2= =0) bcnt=ai; cnt+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
17、- 第 6 页,共 25 页 - - - - - - - - - for(i=0;icnt-1;i+) for(j=i+1;jbj) temp=bi; bi=bj; bj=temp; 六、根据后 3 位数排序在文件 IN.DAT 中有 200 个正整数,且每个数均在1000 至 9999 之间。函数readDat( )的功能是读取这 200个数存放到数组aa中。请编制函数 jsSort() ,该函数的功能是:要求按每个数的后3 位的大小进行降序排列,将排序后的前10个数存入数组 bb 中,如果出现后 3 位相等的数,则对这些数按原始4 位数据进行升序排列。最后调用函数writeDat()把结果
18、 bb 输出到 OUT.DAT 文件中。void jsSort( ) int i, j; int temp; for(i=0;i199;i+) for(j=i+1;j200;j+) if(aai%1000aaj; temp=aai; aai=aaj; aaj=temp; for(i=0;i10;i+) bbi=aai; 七、数组排序问题在文件 IN.DAT 中有 200组数据, 每组有 3个数, 每个数均是 3位数。 函数 readDat( )是读取这 200 组数据存放到结构数组aa中。请编制函数jsSort() ,该函数的功能是:要求在 200组数据中找出条件为每组数据中的第二个数大于第一
19、个数加第三个数之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb 中, 再对结构数组 bb中的数据按照每组数据的第二个数加第三个数之和的大小进行降序排列,排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果 bb输出到 OUT.DAT 文件中。void jsSort( ) int i, j; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 25 页 - - - - - - - - - int cnt=0;
20、 Data temp; for(i=0;iaai.x1+aai.x3) bbcnt=aai; cnt+; for(i=0;icnt-1;i+) for(j=i+1;jcnt;j+) if(bbi.x2+bbi.x3bbj.x2+bbj.x3) temp=bbi; bbi=bbj; bbj=temp; return cnt; 八、迭代算法1、下列程序的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0 的一个实根。xn+1=cos(xn) 迭代步骤如下:(1)取 x1初值为 0.0 (2)x0=x1,把 x1 的值赋给 x0 (3)x1=cos(x0),求出一个新的 x1 (4)若 x
21、0-x1 得绝对值小于 0.000001,执行步骤 (5),否则执行步骤 (2) (5)所求 x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回请编写函数 countValue( )实现程序要求,最后调用函数writeDat()把结果输出到 OUT.DAT 文件中。float countValue( ) float x0,x1=0.0; while(1) x0=x1; x1=cos(x0); if(fabs(x0-x1)1e-6) break; return x1; 2、 编写函数 jsValue( ),它的功能是求 Fibonacci 数列中大于 t 的最小的一个数, 结果由函数
22、返回,其中Fibonacci 数列 F(n)的定义为:F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 最后调用函数 writeDat()把结果输出到OUT.DAT 文件中。例如:当 t=1000时,函数值为 1597。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - int jsValue(int t) int f1=0,f2=1,fn; fn=f1+f2; while(fn=t) f1=f2; f2=fn;
23、fn=f1+f2; return fn; 3、某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1 下列程序的功能是:要求依次对于整数M=100,1000 和 10000求出对应的 n 值,使其满足: SnM,且 Sn+1M,这里 Sn=A1+A2+, +An,并依次把 n 值存入数组单元b0,b1,b2 中,请编写函数jsValue( )来实现此功能,最后调用函数writeDat()把数组 b 的值输出到 OUT.DAT 文件中。void jsValue( ) int n=1; int a1=1,a2=1,an; int sum0,sum; sum0=a1+a2
24、; while(1) an=a1+a2*2; sum=sum0+an; a1=a2; a2=an; n+; if(sum0=100) b0=n; if(sum0=1000) b1=n; if(sum0=10000) b2=n; break; sum0=sum; 九、计算素数1、下列程序的功能是:选出1001000 之间的所有个位数字与十位数字之和被10 除所得余数恰是百位数字的素数(如293) 。计算并输出上述这些素数的个数cnt,以及这些素数值的和sum。请编写函数 countValue( )实现程序要求,最后调用函数 writeDat()把结果 cnt 和 sum输出到 OUT.DAT 文
25、件中。void countValue( ) int i,j; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 25 页 - - - - - - - - - int a3,a2,a1; int half; for(i=101;i1000;i+) a3=i/100; a2=i%100/10; a1=i%10; if(a3= =(a2+a1)%10) half=i/2; for(j=2;jhalf) cnt+; sum+=i; 2、下列程序的功能是: 计算 500800之间的素
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机三级网络技术编程题集 2022 计算机 三级 网络技术 编程
限制150内