1、全国计算机等级考试三级网络技术上机 100 题一.排序类:1.已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组a 中,请考生编制一函数 jsVal(),其功能是:如果四位数各位上的数字均是 0 或 2 或 4 或 6或 8,则统计出满足此条件的个数 cnt,并把这些四位数按从大到小的顺序存入数组 b 中。最后 main( )函数调用写函数 writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt
2、请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;ibj)t=bi;bi=bj
3、;bj=t;4. 已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:依次从数组 a 中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计) ,则统计出满足此条件的个数 cnt 并把这些四位数按从大到小的顺序存入数组 b 中,最后调用写函数 writeDat( )把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:
4、cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=5;iai-1for(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;iai+1for(i=0;ibj)t=bi;bi=bj;bj=t;6. 已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函
5、数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:依次从数组 a 中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被 7 整除(该四位数以前不满五个数,则不统计) ,则统计出满足此条件的个数 cnt 并把这些四位数按从大到小的顺序存入数组 b 中,最后调用写函数 writeDat( )把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数
6、 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal() int i,j,t;for(i=5;iai-1for(i=0;i=0 且 ab-cd#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;i= 0 void jsVal() int i,j,t,ab,cd;for(i=0;i= 10 void jsVal()int i,j,t,ab,cd;for(i
7、=0;icd,ab 必须是偶数且能被 5 整除,cd 必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组 b 中,并要计算满足上述条件的四位数的个数 cnt。最后 main()函数调用写函数 writeDat( )把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define
8、 MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;icdfor(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;int isprime(int m)int i;for(i=2;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;f
9、or(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;i#define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;ibj)t=bi;bi=bj;bj=t;16.已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位数字上的值最后减去个位数字上的
10、值,如果得出的值大于等于零且原四位数是奇数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,最后调用写函数 writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()in
11、t i,j,t;for(i=0;i=0for(i=0;ibj)t=bi;bi=bj;bj=t;17. 已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,最后调用写函数 writeDat( )把结果 cnt 以及数组 b 中符合条件的四位数输出到OUT.DAT 文件中。注意:部分源
12、程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;i=0for(i=0;ibj)t=bi;bi=bj;bj=t;18.已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功
13、能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,最后调用写函数 writeDat( )把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200in
14、t aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;ibj)t=bi;bi=bj;bj=t;19. 已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,最后调用写函数 writeDat()把结果 cnt 以
15、及数组 b 中符合条件的数输出到 OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数 main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;i=ai/100%10for(i=0;ibj)t=bi;bi=bj;bj=t;20.已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函
16、数 readDat()把这些数存入数组 a 中,请考生编制一函数 jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,最后调用写函数 writeDat()把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。注意:部分源程序存在文件 prog1.c 中。程序中已定义数组:a200,b200 ,已定义变量:cnt请勿改动数据文件 IN.DAT 中的任何数据、主函数
17、main()、读函数 readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt=0;void jsVal()int i,j,t;for(i=0;i=0bi=bj;bj=t;21. 已知数据文件 in.dat 中存有 300 个四位数,并已调用读函数 ReadDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从小到大的顺序进行排序,最后
18、调用写函数 writeDat()把结果输出到 out.dat 文件。例如:6712,6+2=7+1,则该数满足条件存入数组 b 中,且个数 cnt=cnt+1。8129,8+90,则该数满足条件存入数组 b 中,且个数 cnt=cnt+1。9812,9-8-1-20,则该数不满足条件忽略。部分源程序存在文件 prog1.c 中。程序中已定义数组:a300,b300 ,已定义变量:cnt请勿改动主函数 main()、读函数 ReadDat()和写函数 writeDat()的内容。#include int a300,b300,cnt=0;jsValue()int i,j,t;for(i=0;i=0
19、)bcnt+=ai;for(i=0;ibj)t=bi;bi=bj;bj=t;23.已知数据文件 in.dat 中存有 300 个四位数,并已调用读函数 ReadDat()把这些数存入数组a 中,请编制一函数 jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从大到小的顺序进行排序,最后调用写函数 writeDat()把结果输出到out.dat 文件。例如:7153,7+1=5+3,则该数满足条件存入数组 b 中,且个数 cnt=cnt+1。8129,8+10,则该数
20、满足条件存入数组 b 中,且个数 cnt=cnt+1。9812,9-8-1-20,则该数不满足条件忽略。部分源程序存在文件 prog1.c 中。程序中已定义数组:a300,b300 ,已定义变量:cnt请勿改动主函数 main()、读函数 ReadDat()和写函数 writeDat()的内容。#include int a300,b300,cnt=0;jsValue() int i,j,t;for(i=0;i0)bcnt+=ai;for(i=0;ibj)t=bi;bi=bj;bj=t;26.在文件 in.dat 中有 200 个正整数,且每个数均在 1000 至 9999 之间。函数 Read
21、Dat()读取这 200 个数存放到数组 aa 中。请编制函数 jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前 10 个数依次存入数组 bb 中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数 WriteDat()把结果 bb 输出到文件 out.dat 中。例:处理前 6012 5099 9012 7025 8088处理后 9012 6012 7025 8088 5099部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。#includ
22、e #include #include int aa200,bb10;void jsSort()int i,j,t;for(i=0;iaaj%1000|aai%1000=aaj%1000void jsSort()int i,j,t;for(i=0;iaaj)t=aai;aai=aaj;aaj=t;bbi=aai;28. 在文件 in.dat 中有 200 组数据,每组有 3 个数,每个数均是三位数。函数 ReadDat()读取这 200 组数据存放到结构数组 aa 中,请编制函数 jsSort(),其函数的功能是:要求在 200组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其
23、中满足条件的组数作为函数 jsSort() 的返回值,同时把满足条件的数据存入结构数组 bb 中,再对 bb 中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等) ,排序后的结果仍重新存入结构数组 bb 中,最后调用函数 WriteDat()把结果 bb 输出到文件 out.dat 中。部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。#include #include #include typedef structint x1,x2,x3;data;data
24、 aa200,bb200;int jsSort()int i, cnt = 0, j;data ch;for (i=0; i aai.x1+aai.x3)bbcnt = aai;cnt+;for (i=0; i#include #include typedef structint x1,x2,x3;data;data aa200,bb200;int jsSort()int i, cnt = 0, j;data ch;for (i=0; i aai.x2+aai.x3)bbcnt = aai;cnt+;for (i=0; ibbj.x1+bbj.x3)ch = bbi;bbi = bbj;bbj
25、 = ch;return cnt;30. 函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中,请编制函数 SortCharA(),其函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数 writeDat()把结果 xx 输出到文件 OUT1.DAT 中。例:原文:dAe,BfC.CCbbAA结果:,.ABCdefAACCbb原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数 Read
26、Dat()和输出数据函数 writeDat()的内容。#include #include #include char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void SortCharA(void)int i,j,k;char t;for(i=0;ixxik)t=xxij;xxij=xxik;xxik=t;31.函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中,请编制函数 SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序
27、,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数 writeDat()把结果 xx 输出到文件OUT2.DAT 中。例:原文:dAe,BfC.CCbbAA结果:fedCBA.bbCCAA原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 writeDat()的内容。#include #include #include char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void Writ
28、eDat(void);void SortCharD(void)int i,j,k;char t;for(i=0;i#include #include char xx2080;void jsSort()int i,j,t,k;for(k=0;kxxkj)t=xxki;xxki=xxkj;xxkj=t;33.函数 ReadDat()实现从文件 in.dat 中读取 20 行数据存放到字符串数组 xx 中(每行字符串长度均小于 80) 。请编制函数 jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数 WriteDat
29、()把结果 xx 输出到文件 out.dat 中。条件:从字符串中间一分为二,左边部分按字符的 ASCII 值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。例如:位置 0 1 2 3 4 5 6 7 8源字符串 a b c d h g f e 1 2 3 4 9 8 7 6 5则处理后字符串 h g f e d c b a8 7 6 5 9 4 3 2 1部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。#include #inclu
30、de #include char xx2080;void jsSort()int i,j,k,t,l;for(k=0;k#include #include char xx2080;void jsSort() int i,j,k,t,l;for(k=0;kxxkj)t=xxki;xxki=xxkj;xxkj=t;for(i=0;i#include #include char xx2080;void jsSort()int i,j,t,k,l;for(k=0;kxxkj)t=xxki;xxki=xxkj;xxkj=t;36.已知在文件 IN.DAT 中存有 100 个产品销售记录,每个产品销售记录
31、由产品代码 dm(字符型 4 位),产品名称 mc(字符型 10 位),单价 dj(整型),数量 sl(整型) ,金额 je(长整型) 五部分组成。其中:金额= 单价* 数量计算得出。函数 ReadDat()是读取这 100 个销售记录并存入结构数组 sell 中。请编制函数 SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组 sell 中,最后调用函数 WriteDat()把结果输出到文件 OUT5.DAT 中。部分源程序存在文件 prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。#include #include #include #include #include #define MAX 100typedef structchar dm5; /*产品代码*/char mc11; /*产品名称*/int dj; /*单价*/int sl; /*数量*/long je; /*金额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();