2019计算机三级网络技术答案,2019年计算机三级网络技术精选练习题

这是一个关于数据处理的编程任务,要求从输入文件中读取200个4位数,通过重组数字形成新的十位数,并检查这些新数是否满足特定条件。条件包括:新数是奇数,能被5整除,且非零。重组方式包括千位与个位重组,百位与十位重组。满足条件的数按降序存入数组,并统计其数量,最终将结果写入输出文件。
摘要由CSDN通过智能技术生成

《2019年计算机三级网络技术精选练习题》由会员分享,可在线阅读,更多相关《2019年计算机三级网络技术精选练习题(11页珍藏版)》请在人人文库网上搜索。

1、2019 年计算机三级网络技术精选练习题 1. 已知数据文件 IN25.DAT 中存有 200 个 4 位数,并已调用读函数 readDat() 把这些数存入数组 a 中。请编制一函数 jsVal() ,其功能是: 把千位数字和个位数字重新组成一个新的十位数 ( 新十位数的十位数字 是原 4 位数的千位数字,新十位数的个位数字是原4 位数的个位数字 ) , 把百位数字和十位数字组成另一个新的十位数 ( 新十位数的十位数字是 原 4 位数的百位数字,新十位数的个位数字是原 4 位数的十位数字 ) , 如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能 被 5 整除,同时两个新十位数字均。

2、不为零,则将满足此条件的 4 位数 按从大到小的顺序存入数组 b 中,并要求计算满足上述条件的 4 位数 的个数 cnt ,最后调用写函数 writeDat() ,把结果 cnt 及数组 b 中符 合条件的4位数输出到OUT25.DAT文件中。 注意:部分源程序已给出。 程序中已定义数组: a200 , b200 ,已定义变量: cnt 。 请勿改动主函数 main() 、读函数 readDat() 和写函数 writeDat() 的内容。 #include #define MAX 200 int aMAX, bMAX, cnt = 0; void writeDat(); void jsVal。

3、() int i,j; /*定义循环控制变量 */ int a1,a2,a3,a4; /* 定义变量保存 4 位数的每位数字 */ int temp; /* 定义数据交换时的暂存变量 */ int ab,cd; /* 存储重新组合成的十位数 */ for(i=0;i=10) /* 将满足条件的数存入数组 b 中*/ cnt+; /* 统计满足条件的数的个数 */ for(i=0;i for(j=i+1;j if(bi temp=bi; bi=bj; bj=temp; void readDat( ) a* 3Hd ()代CP屮M P!OA JOieaeiUM K!q.up%.)wuud !q=!。

4、)oj Kiuo.up%=诲轴劲霁者蟹u)WU!Jd K)|BAsr :()疋 apeai OUIBIU PQ八 J(dj)eso|Oj !q=!)oj 乂儿 I 丄 VCr9 乙 NlJuedoj=dj a* 3Hd int i; fp=fopen(OUT26.DAT,w); fprintf(fp,%dn,cnt); for(i=0;i fprintf(fp, %dn,bi); fclose(fp); 3.已知数据文件IN27.DAT中存有200个4位数,并已调用读函 数 readDat( ) 把这些数存入数组 a 中,请编制一函数 jsVal( ) ,其功 能是:把千位数字和十位数字重新组。

5、合成一个新的十位数 ( 新十位数 的十位数字是原 4 位数的千位数字,新十位数的个位数字是原 4 位数 的十位数字 ),以及把个位数和百位数组成另一个新的十位数 ( 新十位 数的十位数字是原 4 位数的个位数字,新十位数的个位数字是原 4 位 数的百位数字 ) ,如果新组成的两个十位数均为素数且新十位数字均不 为零,则将满足此条件的 4 位数按从大到小的顺序存入数组 b 中,并 要计算满足上述条件的4位数的个数ent,最后调用写函数 writeDat( ) 把结果 cnt 及数组 b 中符合条件的 4 位数输出到 OUT27.DAT文 件中。 注意:部分源程序已给出。 程序中已定义数组: a2。

6、00 , b200 ,已定义变量: cnt 。 请勿改动主函数 main() 、读函数 readDat() 和写函数 writeDat() 的内容。 #include #define MAX 200 int aMAX,bMAX,cnt=0; void writeDat(); int isprime(int m) int i; for(i=2;i=m/2;i+) if(m%i=0) return 0; return 1; void jsVal() int i,j; /*定义循环控制变量 */ int a1,a2,a3,a4; /* 定义变量保存 4 位数的每位数字 */ int temp; /*。

7、 定义数据交换时的暂存变量 */ int ab,cd; /* 存储重新组合成的十位数 */ for(i=0;i200;i+) /*逐个取每一个 4 位数 */ a4=ai/1000; /* 求 4 位数的千位数字 */ a3=ai%1000/100; /* 求 4 位数的百位数字 */ a2=ai%100/10; /* 求 4 位数的十位数字 */ a1=ai%10; /* 求 4 位数的个位数字 */ ab=10*a4+a2; /* 把千位数字和十位数字重新组合成一个新的十 位数*/ cd=10*a1+a3; /* 把个位数和百位数组成另一个新的十位数 */ if(isprime(ab) /。

8、*把满足条件的数存入数组b中*/ cnt+; /* 统计满足条件的数的个数 */ for(i=0;i for(j=i+1;j if(bi temp=bi; bi=bj; bj=temp; void readDat( ) a* 3Hd ()代CP屮M P!OA JOieaeiUM K!q.up%.)wuud !q=!)oj Kiuo.up%=诲轴劲霁者蟹u)WU!Jd K)|BAsr :()疋 apeai OUIBIU PQ八 J(dj)eso|Oj !q=!)oj Ku-i./ulVaZ2Nlu)uedoj=dj a* 3Hd fp=fopen(OUT27.DAT,w); fprintf(fp。

9、,%dn,cnt); for(i=0;i fprintf(fp, %dn,bi); fclose(fp); 4.已知数据文件IN28.DAT中存有200个4位数,并已调用读函 数 readDat( ) 把这些数存入数组 a 中,请编制一函数 jsVal( ) ,其功 能是:把千位数字和十位数字重新组合成一个新的十位数ab( 新十位数 的十位数字是原 4 位数的千位数字,新十位数的个位数字是原 4 位数 的十位数字 ),以及把个位数和百位数组成另一个新的十位数 cd( 新十 位数的十位数字是原 4 位数的个位数字,新十位数的个位数字是原 4 位数的百位数字 ) ,如果新组成的两个十位数 ab c。

10、nt 。 注意:部分源程序已给出。 程序中已定义数组: a200 , b200 ,已定义变量: 请勿改动主函数 main() 、读函数 readDat() 和写函数 writeDat() 的内容。 #include #define MAX 200 int aMAX,bMAX,cnt=0; void writeDat(); void jsVal( ) int i,j; /*定义循环控制变量 */ int a1,a2,a3,a4; /* 定义变量保存 4 位数的每位数字 */ int temp; /* 定义数据交换时的暂存变量 */ int ab,cd; /*存储重新组合成的十位数 */ for(。

11、i=0;i200;i+) /* 逐个取每一个 4 位数*/ a4=ai/1000; /* 求 4 位数的千位数字 */ a3=ai%1000/100; /* 求 4 位数的百位数字 */ a2=ai%100/10; /* 求 4 位数的十位数字 */ a1=ai%10; /* 求 4 位数的个位数字 */ ab=10*a4+a2; /* ab*/ 把千位数和十位数重新组合成一个新的十位数 cd=10*a1+a3; /* cd*/ 把个位数和百位数组合成另一个新的十位数 if(ab /* 如果 ab cnt+; /* 统计满足条件的数的个数 */ for(i=0;i bcnt=ai; /* 将满。

12、足条件的数存入数组 b 中*/ for(j=i+1;j if(bi temp=bi; bi=bj; bj=temp; void readDat( ) int i; FILE *fp; fp=fopen(IN28.DAT,r); for(i=0;i fclose(fp); void main() int i; readDat(); jsVal(); J(dj)eso|Oj 爼!qlup%/dj)#U!dj !:0二!) 0uolup%jdj)#u!dj 乂 M 人丄 vers 乙丄 noJuedoj=dj a* 3Hd ()代CP屮M P!OA JOieaeiUM K!q.uP%.)WU!Jd !q=!)oj Kiuo.up%=诲轴劲霁者蟹u)WU!Jd。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值