《全国计算机等级考试三级网络技术上机考试题库.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试三级网络技术上机考试题库.docx(136页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称me(字符型10位)、单价dj(整型)、数量si(整型)、猫i1je(长整型)儿部分组成。 其中:金额=单价x数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell 中。请编制函数SortDat。,其功能要求:按产品名称从小到大进行排列,若产品名称相同, 则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat。 把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDat。和写函数W
2、riteDat。 的内容。【试题程序】#include #include #include #include #define MAX 100 typedef struct chardm5;/*产品代码 */charmcll;/* 产品名称 */int dj;/* 单价 */int si;/* 数量 */long je;/* 金额*/ PRO;PRO sell MAXI:void ReadDat();void WriteDat();void SortDat() void main()(memset(sell,0, sizeof(sell):ReadDat():SortDat();WriteDat
3、();void ReadDat()(FILE *fp;char str80 chl 1; int i;fp = fopen(IN.DAT“, r”); for(i = 0; i 100; i + +) fgets(str, 80, fp);memcpy(selli.dm str, 4);memcpy(selli.mc, str+4,10);memcpy(ch, str+14, 4);ch4=0;selli.dj = atoi(ch);memcpy(ch, str+18, 5);ch5=0;selli.sl = atoi(ch);selli.je = (long)selli.dj * selli
4、.sl; fclose(fp);void WriteDat()(FILE *fp;int i;fp = fopen(OUT.DATM, ”w“); for(i = 0; i 100; i + +) fprintf(fp, u%s %s %4d%5d%101dnM, selli.dm, selli.mc, selli.dj, selli.sL selli.je);)fclose(fp);2套已知文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位)、产品名称me(字符型10位)、单价弧整型)、数量si(整型)、金额je(长整型)几部分组成。 其中:金额=单价x
5、数量。函数ReadDat。的功能是读取这100个销售记录并存入结构数组sell 中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同, 则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat() 把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDat。和写函数WriteDat。 的内容.【试题程序】#include #inciude #inciude #include #define MAX 100 typedef structchar dm 5;/* 产品代码 */ch
6、armcll; /* 产品名称 */ int dj;/* 单价 *1int si;/* 数量 */longje; /* 金额 */ PRO;PRO sell MAX;void ReadDat();void WriteDat(); void SortDat() void main()(memset(selh 0, sizeof(sell);ReadDat();SortDat();WriteDatQ;)void ReadDat()(FILE *fp;char str80, chl 1;int i;fp = fopen(IN.DATn, T);for(i=0; i100: i+)fgets(str
7、80, fp);memcpy(sell | i.dm, str, 4);memcpy(sell|i.mc, str+4, 10);memcpy(ch, str+14, 4);ch4 = 0;selli .dj = atoi(ch); memcpy(ch, str+18, 5); ch5 = 0;sell i.si = atoi(ch);selli.je = (long)selli.dj * selli.sl;fclose(fp); void WriteDat() (FILE *fp;int i;fp = fopen(MOUT.DATn, w);for(i = 0; i 100; i+)fpri
8、ntf(fp, n%s %s %4d %5d %101dnH, selli.dm, selli.mc, selli.dj, selli.sb selli.je);)fclose(fp); 3套已知文件IN.DAF中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位)、产品名称me(字符型1保立)、单价dj(整型)、数量si(整型)、金额je(长整型)几部分组成。 其中:金额=单价x数量。函数ReadDat。的功能是读取这100个销售记录并存入结构数组sell 中。请编制函数SonDat。,其功能要求:按产品代码从小到大进行排列,若产品代码相同, 则按金额从小到大进行排列,最
9、终排列结果仍存入结构数组sell中,最后调用函数WriteDat。 把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDat。和写函数WriteDat。 的内容。【试题程序】#include #include #include #include #define MAX 100 typedef struct (chardm|5; /* 产品代码 */charmcll; /* 产品名称 */int dj;/* 单价 */int si;/* 数量 */long je; /* 金额 */) PRO:PRO sell |MAX;void ReadDat()
10、;void WriteDat(); void SortDat()void main() (memset(sell, 0, sizeof(sell);ReadDat();SortDat();WriteDatO;1void ReadDat()(FILE *fp;char str80, chl 1;int i;fp = fopenCIN.DAT% ,rM);for(i = 0; i100; i+) (fgets(str, 80, fp);memcpy(selli.dm, str, 4);memcpy(selli.mc str+4, 10);memcpy(ch, str+14, 4);ch 4 = 0
11、;selli .dj = atoi(ch);memcpy(ch, str+18, 5);ch5 = 0;sell|i.sl = atoi(ch);sell|i.je = (long)selli.dj * selli.sl;fclose(fp);void WriteDatO(HLE *fp;int i;fp = fopen(OUT.DATn, W);for(i = 0; i 100: i+)(fprintf(fp, M%s %s %4d %5d %10ldn% selli.dm, selli.mc, selli.dj, selli.sl, selli.je);)fclose(fp);已知在文件I
12、N.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称me(字符型10位)、单价dj(整型)、数量si(整型)、金额je(长整型)几部分组成。 其中,金额=单价x数量可计算得出。函数ReadDal()的功能是读取这100个销售记录并存入 数组sell中。请编制函数SotDat(),其功能要求:按金额从大到小进行排列,若金额相同, 则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用写函数 WriteDat()把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读遨攵ReadDat()和写函数Wri
13、teDat() 的内容。【试题程序】#include #include #include #include #include #include #define MAX 100 typedef struct (char dm5;char mcll;int dj:int si;longje; PRO;PROsellMAX;void ReadDat();void WriteDat(); void SortDat() void main()(memset(sell,0 sizeof(sell);ReadDat();SortDat();WriteDatO: void ReadDat()FILE *fp;
14、charstr80, chll;int i;fp=fopen(,IN.DATM, T); for(i=0: i100; i+) (fgets(str,80, fp);memcpy(selli.dm, str,4); memcpy(selli.mc, str+4,10); memcpy(ch, str+14, 4); ch4 = 0:selli.dj = atoi(ch);memcpy(ch, str+18,5);ch5 = 0;sell i.sl=atoi(ch);seIli.je=(long)seUi.dj*selli.sl;fclose(fp); void WriteDat()(FILE
15、*fp;int i;fp=fopen(nOUT.DAT, wn);for(i=0; i100; i+)fprintf(fp, %s %s %4d %5d%101dn, selli.dm, selli.mc, selli.dj, selli.sl, selli.je);)fclose(fp);5套已知文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4 位)、产品名称me(字符型10位)、单价dj(整型)、数量si(整型)、金额je(长整型)几部分组成。 其中:金额=单价x数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell 中。请编制
16、函数SoitDatO,其功能要求:按产品名称从大到小进行排列,若产品名称相同, 则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDatO 把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main。、读函数ReadDat。和写函数WriteDat() 的内容.【试题程序】#include #include #include #include #define MAX 100 typedef struct (chardm5;/* 产品代码 */charmed I;/* 产品名称 */intdj;/* 单价 */int sh/* 数量 */
17、long je;/* 金额 */ PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDatO ()void main() (memset(selh 0, sizeoffsell); ReadDat();SortDatO; WriteDat(); )void ReadDat()(FILE *fp;charstr80, chl 1;int i;fp = fopen(f,IN.DATM, T); for(i=0; i, w);for(i = 0; i 100; i+)(fprintf(fp, H%s %s %4d %5d %101dnM,
18、 selli.dm, selli.mc, selli.dj, selli.sl, selli.je);)fclose(fp);6套已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量si(整型)、獭je(长整型)儿部分组成。 其中,金额=单价x数量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入 数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同, 则按产品名称从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数 Wr
19、iteDal()把结果输出至IJ文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读邈攵ReadDat()和写函数WriteDat() 的内容。【试题程序】#include #include #include #include #define MAX 100 typedef struct char dm5;char mcll;int dj;int si;longje; PRO;PRO sellMAX; void ReadDat(); void WriteDatQ; void SortDat() ()void main()(memset(sell,O sizeof(sel
20、l);ReadDat();SortDat(); WriteDat(); )void ReadDat()(FILE *fp;charstr8O, chU; int i;fp=fopenCIN.DATH, T);for(i = 0: i100; i+) (fgets(str,8O, fp);memcpy(seHi.dm, str,4);memcpy(selli.mc, str+4J0); memcpy(ch, str+14, 4); ch4 = 0:sell i. dj = atoi(ch); memcpy(ch, str+ 18,5); ch5=0;selli.sl = atoi(ch);sel
21、l i.je=(long) sell i .dj * selli . si ; )fclose(fp);)void WriteDatOFILE *fp; int i; fp=fopen(OUT.DAT,r, w”);for(i=0; i100; i+ + )fprintf(fp, %s %s %4d %5d %101dn, selli.dm, selli.mc, selli.dj, selli.sl, selli.je);fclose(fp);7套已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称me(字符型10位)、单价dj(整型)、数
22、最si(整型)、金额je(长整型)儿部分组成。 其中,金额=单价x数量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入 数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代 码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数 WriteDat()把结果输出到文件0UT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读函收ReadDat()和写函数WriteDat() 的内容.【试题程序】#include #include #include #include #define MAX
23、100typedef struct (char dm5;char mcll;int dj;int si;longje; PRO;PROsellMAX;void ReadDat();void WriteDat();void SortDat()void main()(memset(sell,0 sizeof(sell);ReadDat();SortDat();WriteDatO; void ReadDat() (FILE *fp;charstr|8O|, ch|l 1; int i;fp=fopen(nIN.DATM, T); for(i=0; i100; i+) fgets(str,8O fp)
24、:memcpy(sell i .dm, str,4); memcpy(selli.mc, str+4,10); memcpy(ch, str+14,4); ch4=0;selli.dj = atoi(ch); memcpy(ch str+18,5); ch5 = 0;selli.sl = atoi(ch);selli.je=(Iong)selli.dj*selli.sl; ) fclose(fp);void WriteDatOFILE *fp;int i;fp=fopen(OUT.DAT, W):for(i = 0; i100; i+)fprintf(fp, *%s %s %4d %5d %1
25、01dnH, selli.dm, selli.me, selli.dj, selli.si, selli.je);)fclose(fp);8套已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称me(字符型10位)、单价dj(整型)、数量si(整型)、金儆je(长整型)儿部分组成。 其中,金额=单价x数量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入数 组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同, 则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,
26、最后调用函数WriteDatO把 结果输出到文件OUT.DAT中。注意:部分源程序存放在PROG1.C中.请勿改动主函数main()、读函数ReadDat ()和写 函数WriteDat ()的内容.【试题程序】#include #include #include #include #define MAX 100type def struct(chardm5;char mc 11;intdj;int si;longje; PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()()void main()(memset(sell,
27、0,sizeof(sell);ReadDat();SortDat();WriteDat();FILE *fp;char str80,chl 1;int i;fp=fopen(,IN.DAT,;,r,);for(i=0;i100;i+)(fgets(str,80,fp);memcpy(selli.dm,str,4);memcpy(selli.mc,str+4,10);memcpy(ch,str+14, 4);ch4=0;selli.dj=atoi(ch);memcpy(ch,str+18,5);ch5=0;selli.sl=atoi(ch);selli= (long)selli.d*seli.s
28、l;)fclose(fp);)void WriteDat()(FILE *fp;int i;fp=fopen(,OUT.DAT,;,wM);for(i=0;i100;i+)(fprintf(fp;,%s%s%4d%5d% 101dnselli.dm, selli.mc, selli.dj, selli.sl, selli.je);)fclose(fp);9套已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称me(字符型10位)、单价dj(整型)、数量si(整型)、彝ije(长整型)几部分组成。 其中,金额=单价x数量可计算得出。函数Rea
29、dDat()的功能是读取这100个销售记录并存入 数组sell中。请编制函数SortDaK ),其功能要求:按金额从小到大进行排列,若金额相同, 则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数 WriteDat()把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读避攵ReadDat()和写函数WriteDat() 的内容。【试题程序】#include #include #include #include #define MAX 100 typedef struct (char dm5;char mcl 1:int dj ;
30、int si;longje;)PRO;PROsellMAX;void ReadDat();void WriteDat();void SortDat() (void main() (memset(sell,0, sizeof(sell);ReadDat();SortDat();WriteDat();FILE *fp; charstr80, chll;int i;fp=fopen(IN.DATn, T); for(i=0; i str+14 4); ch4 = 0:sell(i|.dj = atoi(ch);memcpy(ch, str+18,5);ch5 = 0;selli.sl = atoi(
31、ch);seUi.je=(long)selli.dj*selli.sl;fclose(fp);) void WriteDat() (HLE *fp;int i;fp=fopen(nOUT.DATn, wn);for(i=0; i100; i+) fprintf(fp, s %s %4d %5d %101dnn, selli.dm, selli.mc, selli.dj, selli.sl, selli.je);1fclose(fp);10套已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符 型4位)、产品名称me(字符型10位)、单价dj(整型)、琳日(整型
32、)、痴je(长整型)几部分组成。 其中,金额=单价x数量可计算得出。函数ReadDat()的功能是读取这100个销售记录并存入 数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同, 则按产品代码从小到大进行排列,排列结果仍存入结构数组sell中,最后调用函数WriieDat() 把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读 邈攵ReadDat()和写函数WriteDat() 的内容。【试题程序】#include #include #include #include #define MAX 100 typede
33、f struct (char dm5; charmcll; int dj ;int si; longje; PRO; PRO se!lMAX; void ReadDat(); void WriteDat();void SortDat() void main() (memset(sell,0, sizeof(sell);ReadDat();SortDat(); WriteDat(); void ReadDat()(FILE *fp;charstr80, chll; int i;fp=fopen(MIN.DATn, V); for(i=0: i100; i+) fgets(str,80, fp);
34、memcpy(selli.dm, str,4); memcpy(selli.mc, str+4,10); memcpy(ch* str+ 14,4); ch4 = 0:selli.dj = atoi(ch);memcpy(ch, str+18,5);ch5 = 0;selli.sl=atoi(ch);selli.je=(long)selli.dj*selli.sl;fclose(fp);1void WriteDat()(FILE *fp;int i;fp=fopen(MOUT.DATM, ”w”);for(i=0: i100; i + + )(fprintf(fjp, M%s %s %4d %
35、5d %101dnn, selli.dm, selli.mc, selli.dj, selli.sL selli.je);)fclose(fp);11套已知数据文件IN.DAT中存有300个4位数,并已调用读函数madDat。把这些数存入数组a 中。请编制函数jsVahie。,其功能是:求出千位数上的数加个位数上的数等于百位数上的数 加十位数上的数的个数ent,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的 4位数按从小到大的顺序进行排序,最后调用写函数writeDat。把数组b中的数输出到 OUT.DAT文件中。例如:6712,6+2=7+1,则该数满足条件,存入数组b中,且个数
36、cnt=cnt+l。8129,8+殍1+2,则该数不满足条件,忽略。注意:部分源程序已给出.程序中已定义数组:a300, b300,已定义变量:ent。请 勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。【试题程序】#include int a300, b300, cnt=0;void readDat();void writeDat();void jsValue() void main()int i;readDat();jsValue();writeDat();printf(ncnt = %dnn, ent);for(i=0: icnt; i+ +)printf
37、(,b%d = %dn, i, bi);1void readDat() (FILE *fp;int i;fp = fopen(,IN.DATM, T);for(i=0; i300; i+)fscanf(fp, ”d, “, &ai);fclose(fp); )void writeDat()(FILE *fp;int i;fp = fbpen(OUT.DAT, wn);fprintf(fp, %dnM, ent);for(i = 0; icnt: i+ +)fprintf(fp, *%d, nH, bi);fclose(fp);12套已知数据文件IN.DAT中存有200个4位数,并已调用读函数比
38、adDat()把这些数存入数组a 中,请编制一函数jsVal(),其功能是:如果4位数各位上的数字均是奇数,则统计出满足此 条件的个数ent,并把这些4位数按从大到小的顺序存入数组b中。最后调用函数writeDat。把 结果ent及数组b中符合条件的4位数输出到OUT.DAT文件。注意:部分源程序已给出.程序中已定义数组:a200, b200,已定义变量:ent。请 勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。【试题程序】#include #define MAX 200int aMAX, bMAX. cnt=0;void writeDat();void re
39、adDat()int i;FILE *fp;fp=fopen(,IN.DAT,*, urn);for(i=0; ivMAX; i + + ) fscanf(fp, d,&ai); fclose(fp);void main()(int i;readDat();jsVal();printf(满足条件的数= %dn,ent);for(i = 0; icnt; i +) printf(,%dnM, bi); printf(,nH); writeDatO;void writeDatO (FILE *fp;int i;fp=fopen(nout.datM, w);fprintf(fp, %dn, ent)
40、;for(i=0: icnt: i + + )fprintf(fp, %dnM, bi);fclose(fp);13套已知数据文件IN.DAT中存有300个4位数,并已调用读函数代adDat()把这些数存入数组a 中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的 数加个位数上的数的个数ent,再把所有满足此条件的4位数依次存入数组b中,然后对数组b 的4位数从大到小进行排序,最后调用写函数writeDatO把数组b中的数输出到OUT.DAT文件。例如:7153,7+ 1 =5+3,则该数满足条件,存入数组b中,且个数cnt=cnt+1。8129,8+1
41、先+9,则该数不满足条件,忽略。注意:部分源程序已给出。程序中已定义数组:a300, b300,已定义变量:ent。请 勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。【试题程序】#include #include int a300, b300, cnt=O;void readDat();void writeDat();void jsValue() void main()(int i;readDat();jsValue();writeDat();printf(r,cnt = %dnu, ent);for(i = 0; i ent; i + +)printf(,b%d=%dnn, i, bi); )void readDat()(HLE *fp;int i;fp = fopen(HlN.DArM,for(i = 0; i 300; i + +)fscanf(fp, d,