《【2023年】安徽省巢湖市全国计算机等级考试网络技术预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《【2023年】安徽省巢湖市全国计算机等级考试网络技术预测试题(含答案).docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【2023年】安徽省巢湖市全国计算机等级考试网络技术预测试题(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .某公司分配给人事部的IP地址块为211 .67 . 19 . 224 /27,分配给培训部的IP地址块为211 . 67 . 19 . 208 / 28,分配给销售部的IP地址块为215 .167 .19 .192 / 28,那么这3个地址块经过聚合后的地址为()。A.211 . 67 .B.211 . 67 .C.211 . 67 .D.211 . 67 .19 . 192 / 2519 . 224 / 2519 . 192 / 2619 , 224 / 262 .千兆以太
2、网的传输速率是传统的10Mbps以太网的100倍,但是它仍 然保留着和传统的以太网相同的()。A.物理层协议B.帧格式C.网卡D.集线器3 .关于信息的说法最完整准确的是()。A.广义地讲,信息是信号的模型或其符号的集合B.信息就是新闻消息C.信息是指一般的行情消息D.信息的概念非常广泛,从不同的角度对信息可下不同的定义异。时移电视是采用什么方法来为用户实现时移电视的功能?A.广播方式B.组播方式C.点播方式D.多播方式33 .下列不属于SDH的网络单元组成部分的是()0A.终端复用器B.分叉复用器六、1.程序设计题(3题)34 .已知数据文件IN15.DAT中存有200个4位数,并已调用读函
3、数 readDat。把这些数存入数组a中。请编制函数jsVal(),其功能是:依次 从数组a中取出一个4位数,如果该4位数连续小于该4位数以后的5 个数且该数是偶数,则统计出满足此条件的数的个数ent,并把这些4位 数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果 ent及数组b中符合条件的4位数输出到OUT15.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a200, b200,已定义变量:ent。请勿改动主函数main()、读函数readDat()和写函数writeDat。的内容。试题程序:ent = 0 ;#include (Stdio.h #defin
4、e MAX 200 int aMAX, bMAX, void jsVal()void readDat() ( int i;FILE *fp;fp = fopen(nIN15.DAT nrn);for(i = 0; i MAX; i+)fscanf(fpj%d”,&ai); fclose (fp);)main ()( int i; readDat (); jsVal ();printf (满足条件的数二%dn”, ent);for(i = 0; i ent; i+)printf(%d , bi);printf(In);writeDat ();)writeDat ()(FILE *fp;int i
5、;fp = fopen(”OUT15.DAT”,W); fprintf(fp, n%dnn, ent);for(i = 0; i ent; i+)fprintf(fp, n%dn bi); fclose (fp);35 .请编写函数countValue(),它的功能是:求n以内(不包括n)同时能 被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后 结果s输出到文件OUT11.DAT中。例如,若n为1000时,函数值应为s=153.909064o注意:部分源程序已给出。请勿改动主函数main()和输入输出函数progReadWrite()的内容。试题程序:#include #incl
6、ude # include double countValue(int n)() main ()(clrscr ();printf(自然数之和的平方根二%fn, countValue(lOOO);progReadWrite ();)progReadWrite ()(FILE *wf;int i, n;float s;wf = fopen(nOUTll.DAT, nwn);s 二 countValue (1000);fprintf(wf, s);fclose (wf);)36.已知数据文件in38.dat中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数js
7、Val(),其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值,百位数字上的 值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果ent及数组b中符合条件的4位数输出到out38.dat文件中。注意:部分源程序已给出。程序中已定义数组:a200, b200,已定义变量:ent。请勿改动主函数main。、读函数readDat。和写函数writeDat。的内容。试题程序:#include #define MAX 200int a MAX
8、 ,b MAX, cnt=0;void jsVal() ( )void readDat () ( int i;FILE *fp;fp=fopen( nin38.datn/rn);for (i=0; i MAX; i+)fscanf(fp, n%d&ai); fclose (fp);)void main() ( int i;readDat (); jsVal ();printf (满足条件的数二%dn”, ent);for (i=0; i ent; i+)printf(%dn,b i); writeDat ();)writeDat ()(FILE *fp;int i;fp=fopen Cout3
9、8.dat W);fprintf(fp, n%dncnt);for(i=0; i ent; i+)fprintf(fp, %dn,b i);fclose (fp);参考答案l.C地址聚合是指是把几个小网络合并为一个大网络,主要是通过修改 子网位实现(增大)。具体方法是判断这些地址最左边的多少位相同的, 需要如下3步。第1步:将地址转换为二进制格式,并将它们对齐。第 2步:找到所有地址中都相同的最后一位。第3步:计算有多少位是相 同的。通过分析题目发现,本题中只有最后一个点位不同,其它3个点 位都相同,在进行十进制向二进制转换时,只需计算最后一个点位就行 了。211 . 67 . 19 . 22
10、4 : 211 . 67 . 19 . 11100000 211 . 67 . 19 . 208 : 211 . 67 . 19 . . 67 . 19 . 192 : 211 . 67 . 19 . 11000000 得 到 211 . 67 . 19 . 11000000,即 211 . 67 . 19 . 192,相同位有 26 位,因 此子网掩码为/ 26,最终结果为211 . 67 . 19 . 192/260故选择C选 项。2.B于兆以太网的传输速率比快速以太网快10倍,传输速率达到lObps。 千兆以太网保留着传统10Mbps以太网的基本特征,它们具有相同的帧 格式与类似的组网方
11、法,只是将每位的发送时间降低到1ns。3 .D4 .D解析:发布型业务是由网络中的某点向其他位置传送单向信息流的 业务。交互型业务是用户间和用户与主机间完成双向传输信息的业务。 可见,可视电话属于交互型业务。其中会话型业务是实时通信方式传送, 故符合题目要求。5 .C宽带城域网的总体结构如下图所示。6.BIEEE 802.11无线标准定义的传输速率是1 Mbps和2Mbps,可以使 用FHSS和DSSS技术。IEEE802 . 11定义了两种类型的设备:无线节 点和无线接入点。在IEEE 802 . 11中对CSMA/CD进行了一些调整, 采用了新的协议CSMA / CA或者DCF0 IEEE
12、 802 . 11b运作模式基本 分为两种:点对点模式和基本模式。其中点对点模式最多可连接256台 PCO所以A、C、D选项都正确,因此B选项错误。7.B8 .C9 .D10 .D设置路由器端口的通信方式。以Cisco 6500交换机为例:步骤一: 设置第4模块第1端13的通信方式设置为半双工set port duplex 4 / 1 half步骤二:设置第2 24端口的通信方式设置为全双工setprotduplex 4 / 224 full因此选择D选项。1L无环路无环路解析:生成树算法通过网桥之间的协商构造出一个生 成树。这些协商的结果是:每个网桥都有一个端口被置于转发状态,其 他端口则被
13、置于阻塞状态。该过程将保证网络中的任何两个设备之间只有一个通路,创建一个逻辑上无环路的网络拓扑结构。12.PASV【解析】当客户机向服务器发出数据传输命令时,通过控制连接向服务 器发送一个PASV命令,请求进入被动摸式。13 .(17)通信量分析【解析】通信量分析可以确定通信的位置和通信主机 的身份,还可以观察交换信息的频度和长度。这些信息可以帮助对手猜 测正在进行的通信特征14 .传输传输解析:对网络系统而言,信息安全主要包括信息存储安全 和传输安全。15 .源源解析:交换机地址学习足通过读取帧的源地址并记录帧进入交 换机的端口号进行的。16 .逻辑地址逻辑地址17 .可用【解析】中断是对可
14、用性的攻击。18 .客户机/服务器模式POP3是POP协议的第3个主要版本,它允许对 邮件进行检索、下载、删除等操作,采用客户机/服务器模式。当用户程 序需要下载邮件时,POP客户机首先向POP服务器的TCP端口 110发 送连接请求,一旦TCP连接建立成功,POP客户机就可以向服务器发 送命令,从而下载和删除邮件。19 .不可靠IP协议传输数据报时具有如下特征。-不可靠的数据传输服务:IP协议本身没有能力核实发送的报文能否 被正确地接收。数据报可能会遇到延迟、路由错误或者在封装和拆卸过 程中被损坏等,这些都使数据报传输不能受到保障。但是IP协议不能 检测这些错误,在发生错误时,也没有机制保证
15、一定可以通知发送方和 接收方。面向无连接的传输服务:IP协议不管数据沿途经过哪些节点,甚至 也不管数据报起始于哪台计算机、终止于哪台计算机。数据报从源节点 到目的节点可能经过不同的传输路径,而且这些数据报在传输过程中有 可能丢失,也有可能到达。-尽最大努力投递数据:IP协议并不随意丢弃数据,只有当系统资源 用尽、接收数据错误或网络出现故障等状况下,才不得不丢弃报文。20 .误码率误码率解析:误码率是指二进制码元在数传输系统中被传错 的概率,它在数值上近似等于,Pe=Ne/N,其中N为传输的二进制码总 数,Ne为被传错的码元数、21.6464解析:从奔腾到安腾,标志着英特尔体系结构从IA-32向
16、IA-64 的推进。奔腾是32位芯片,而安腾是64位芯片。21 .SMTPSMTP解析:在TCP/IP参考模型中,应用层协议的SMTP用来 实现互连网中电子邮件传送功能。23 .管理信息库或MIB管理信息库或MIB解析:管理信息库(MIB)是网 络被管设备中代理所维持的各种状态信息的集合,这些信息称为SNMP 的被管对象,MIB就是保存所有网络管理对象的数据结构。在SNMP模 型中每个代理结点都保存一个管理信息库。代理收集信息通过SNMP协 议提供给网络管理系统。管理信息库是SNMP网络管理系统的核心。24 .数据传输速率数据传输速率解析:通信线路的传输能力通常用数据 传输速率来描述,另一种更
17、为形象的描述通信线路传输能力的术语是带 宽。25 .简明并行指令计算简明并行指令计算解析286、386采用了 CISC(传 统的复杂指令系统);奔腾采用了 RISC(精简指令系统);而安腾采用了 超越前两者的EPIC技术,即简明并行指令计算技术。26 .故障管理故障管理解析:网络管理的5大功能是配置管理、性能管 理、故障管理、安全管理和计费管理。27 .集中目录式集中目录式 解析:P2P网络存在4种主要的结构类型。 即以Napster为代表的集中目录式结构、以Gnutella为代表的分布式非 结构化P2P结构,以Pastry. Tapestry. CAN为代表的分布式结构化P2P 结构和以Sk
18、ype、BitTorrent. PPlive等为代表的混合式P2P网络结构。28 .信息资源信息资源解析:因特网的组成包含:通信线路、路由器、 客户机/服务器和信息资源。29 .【审题关键句】以行为单位对字符串变量的下标为奇数的字符按从小 到大排序,结果仍按行重新存入字符串数组中。n【解题思路】W因为要进行字符之间的互换,所以定义局部字符变量ch。定义循环 变量i、j、kon在第一层for循环中,循环变量i从0开始,依次递增直到其值等于 或大于20,在循环体中实现对每行字符串的处理。在循环体中执行第二 层for循环,循环变量J从1开始,依次递增2直到其值等于 (int)strlen(xxi),
19、在第三层for循环中,循环变量k从j+2开始,依次递 增2,直到其值等于(int)strlen(xxi),如:果字符xXij的ASCII码值 大于xxik的ASCII码值,则两者进行互换,实现字符串xxi中下标 为奇数的位置上的字符按其ASCH值从小至IJ大的顺序进行排序,下标为 偶数的位置上的字符仍按原来位置存放的功能。n【参考答案】nnn第11类字符串循环位移30 .【审题关键句】计算金额,按金额从大到小进行排列,相同的则按产 品代码从大到小排列,结果存入结构数组。n【解题思路】n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要 求有所不同,参考答案的第8行进行修改即可。n【参
20、考答案】nn3LC解析:本题考查点是计算机硬件系统的可靠性指标。计算机系统中 硬件系统的可靠性通常使用平均无故障时间MTBF(Mean Time Between Failures)和平均故障修复时间MTTR(Mean Time To Repair)来描述,这两 个指标都和硬件系统的故障有关。如果一个系统的MTBF时间很长,而 MTTR时间很短,则认为该系统的可靠性很高。32.C解析:时移电视和直播电视的基本原理相同,主要的差别在于传输 方式的差异。直播电视是采用组播方式实现数字视频广播业务,而时移4 .可视电话属于B-ISDN的()。A.发布型业务B.消息型业务C.检索型业务D.会话型业务5
21、.设计一个宽带城域网将涉及“三个平台一个出口”,即网络平台、业务 平台、管理平台和()A.广域网出口 B.局域网出口 C.城市宽带出口 D.卫星通道出口6下列对IEEE 802 . 11协议的描述中,错误的是()。A.定义了无线节点与无线接入点两种类型的设备B.物理层采用FSK调制方式C.MAC层采用CSMA / CA协议D.点-点工作模式可支持最多由256个节点组成的无线Ad hoc网络7 .下列关于宽带城域网技术的描述中,错误的是()A.宽带城域网保证QoS的主要技术有RSVP、DiffServ和MPLSB.宽带城域网带内网络管理是指利用网络管理协议SNMP建立网络管 理系统C.宽带城域网
22、能够为用户提供带宽保证,实现流量工程D.宽带城域网可以利用NAT技术解决IP地址资源不足的问题8 .完成路径选择功能是在TCP/IP参考模型的()。A.应用层B.传输层C.互联层D.主机网络层电视则通过存储电视媒体文件,采用点播方式来为用户实现时移电视的 功能。33 .D解析:SDH是由各种网络单元组成的,包括终端复用器、分插复 用器ADM和数字交叉连接设备DXC等,用以实现同步数据传输、复 用和交叉连接等功能。光纤网络单元ONU是接入网的组成部分。34 .voidjsVal() int ijflag=O ; for(i=0 ; i (MAX-5 ; i+)/*如果该 4 位数 连续小于该 4
23、 位数以后的 5 个数*/ for(j=i+l ;j =i+5 ;j+) if(ai aj) flag=l ; /*则置 flag 为 1 */ else flag=O ; /*否则置 flag 为 0*/ if(ai%2 !=0) /*如果该数是奇数则置flag为0*/flag=0 ; if(flag=0)/*如果flag为0则 退出循环*/break ; if(flag=l) /*如果flag为土则将该数存入数组b中 并统计满足条件的数的个数*/ bcnt=ai ;cnt+ ; for(i=0 ;i cnt- 1 ; i+) /*将数组b中的数按从小到大的顺序排序*/ for(j=i+l
24、; j bj) flag=bi ; bi=bj ; b加flag ; voidjsVal()rn rn inti, j, flag=0 ; rnfor(i=0 ; i (MAX-5 ; i+)/*如果该 4 位数连续小于 该 4 位数以后的 5 个数*Arn rn for(j=i+l ; j=i+5 ; j+)rn rn if(ai (aj)rn flag=l ; /*则置 flag 为 l*Arn else flag=0 ; /*否则置 flag 为0*/rn if(ai%2 !=0) /*如果该数是奇数则置 flag 为 0*Arn flag=0 ; rn if(flag=0)/*如果 f
25、lag 为 0,则退出循环*Arn break ; rn rn if(flag=l) /*如果flag为土,则将该数存入数组b中,并统计满足条件的数的个数 */rn rn bcnt=ai ;rn cnt+ ; rn rn rn for(i=0 ; i (cnt-1 ; i+) /*将数组b中的数按从小到大的顺序排序*Arnfor(j=i+1 ;j (ent ;j+)rn if(bibj)rn flag=bi ; rn bi=bj ; rn bj=flag ;rn rn 解析: 根据题意可知,要编制函数的功能有两部分:一是找出满足条件的4位 数;二是对找出的数进行从小到大排序。首先利用一个for
26、循环来依次 从数组中取得4位数,接着用当前得到的4位数与该数后面的5个数 (可以用循环次数来控制)依次进行比较,如果该数比它后面的5个数都 小,则给标志变量flag赋值1。接着对flag进行判断,如果不为1,则 该数肯定不符合条件,直接去取下一个数;若flag值为1,再来判断该 数是否是偶数,如果恰好该数又是偶数,则把该数加入到数组b中。这 样就可以依次取出符合条件的数,然后利用选择法对b数组中的元素进 行从小到大的排序。35 .double countValue(int n) double xy=0.0; int i; for(i=l;i n;i+) if(i%3=0 & i%7=0) xy
27、+=i; /*求n以内(不包括n)同时能被3与7整 除的所 有自然数之和*/ xy=sqrt(double)xy); /*再对总和求平方根*/ return xy; double countValue(int n)rn rn double xy=0.0;rn int i;rn for(i=l;i n;i+)rn if(i%3=0 & i%7=0) xy+=i; /* 求 n 以内(不包括 n) 同时能被3与7整除的所rn有自然数之和*Arn xy=sqrt(double)xy); /* 再对总和求平方根*Arnreturnxy;rn 解析:本题的解题思路是:利用 一个for循环依次从n个自然数
28、当中取数,对当前取出的数进行条件判 断。判断条件为:既能被3整除同时也能被7整除,因此,用“&”运 算符来连接两个条件表达式,当某数满足判断条件时,就把该数累加到 变量xy中(xy的初始值为0.0),当所有满足条件的数都被找完后,对 累加求得的变量xy的值进行求平方根的计算,并把所求得的结果作为 函数值返回。36 .已知数据文件in38.dat中存有200个4位数并已调用读函数readDat() 把这些数存入数组a中请编制一函数jsVal()其功能是:若一个4位数的 千位数字上的值小于等于百位数字上的值百位数字上的值小于等于十 位数字上的值以及十位数字上的值小于等于个位数字上的值并且此4位 数
29、是偶数则统计出满足此条件的数的个数ent并把这些4位数按从小到 大的顺序存入数组b中最后调用写函数writeDat。把结果ent及数组b中 符合条件的4位数输出到out38.dat文件中。注意部分源程序已给出。 程序中已定义数组:a200b200已定义变量:ent。请勿改动主函数 main。、读函数readDat。和写函数writeDat。的内容。试题程序: #include #define MAX 200 int a MAX b MAX cnt=0; void jsVal() void readDat ( ) int i; FILE *fp; fp=fopen( in38.datr); fo
30、r (i=0; i MAX; i+) fscanf(fp %d&ai); fclose (fp); void main() int i; readDat ();jsVai (); printf (满足条件的数二%dn ent); for (i=0; i ent; i+) printf (%dnb i); writeDat (); writeDat () FILE *fp; int i; fp=fopen (out38.dat w); fprintf (fp %dn ent); for(i=0; i ent; i+) fprintf(fp %dnb i); fclose (fp); 已知数据文件
31、 in38.dat 中存有 200 个 4 位数, 并已调用读函数readDat。把这些数存入数组a中,请编制一函数jsVal(), 其功能是:若一个4位数的千位数字上的值小于等于百位数字上的值, 百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等 于个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的 个数ent并把这些4位数按从小到大的顺序存入数组b中,最后调用写 函数writeDat。把结果ent及数组b中符合条件的4位数输出到out38.dat 文件中0rn注意 部分源程序已给出。rn程序中已定义数组:a200, b200,已定义变量:ent。rn请勿改动主函数ma
32、in()、读函数readDat。和写函数 writeDat。的内容。rn 试题程序:rn #include rn #define MAX 200rn int a MAX ,b MAX, cnt=0;rn rn void jsVal()rn rn )rn void readDat ( )rn rn int i;rn FILE *fp;rn fp=fopen( in38.dat,r);rn for (i=0; i MAX; i+)rn fscanf(fp, %d,&ai);rn fclose (fp);rn rn void main()rn rn int i;rn readDat ();rn js
33、Val ();rn printf (满足条件的数二%dn, cnt);rn for (i=0; i ent; i+)rn printf (!%dnb i);rn writeDat ();rn rn writeDat ()rn rn FILE *fp;rn int i;rn fp=fopen (out38.dat, w);rn fprintf (fp, %dn, cnt);rn for(i=0; i (enable)set interface duplex 4/1 half Switch- 6500(enable)set interface duplex 4 / 2 . 24 fullB.Swi
34、tch-6500(enable)set port 4 / 1 duplex half Switch-6500(enable)set port 4 / 2 . 24 duplex fullC.Switch-6500(enable)set port duplex 4/1 half Switch-6500(enable)set port duplex 4 / 24 / 24 fullD.Switch-6500(enable)set port duplex 4/1 half Switch-6500(enable)set port duplex 4 / 2-24 full二、填空题(10题)11 .应用
35、生成树算法可以构造出一个生成树,创建了一个逻辑上的网络拓扑结构。12 .(15) FTP协议规定:向服务器发送 命令可以进入被动模式。13 .(17)有一类攻击可以确定通信的位置和通信主机的身份,还可以观 察交换信息的频度和长度。这类攻击称为 O14 .对网络系统而言,信息安全主要包括两个方面:存储安全和 安全。15 .交换机地址学习是通过读取帧的 地址并记录帧进入交换机的端口号进行的。16 .作业的地址空间指的是目标程序所占据的空间,而地址空间中的地 址称为【 o内存地址集合为内存空间或物理地址空间,它的地址称 为物理地址。17 .(16)当信息从信源向信宿流动时可能会受到攻击。其中中断攻击
36、是 破坏系统资源,这是对网络 性的攻击。18 .POP3协议采用的工作模式是。19.IP协议提供的服务具有3个主要特点,分别是、面向非连接和尽最大努力投递。20 .是指二进制数据在传输过程中出现错误的概率。三、2.填空题(8题)21 .安腾是位的芯片。22 .在TCP/IP参考模型中,应用层协议的【】用来实现互联网中电子邮 件传送功能。23 .是SNMP网络管理系统的核心。24 .通信线路是因特网的基础设施,对于通信线路的传输能力通常用 来描述。25 .安腾采用了 EPIC,即 技术。26 .网络管理的5大功能是配置管理、性能管理、【】、安全管理和计费 管理。27 .目前,P2P网络存在分布式
37、非结构化、分布式结构化和混合式4种结构类型。28 .因特网的主要组成部分包括通信线路、路由器、客户机服务器和o四、C语言程序设计题Q题)29 .函数readDat是从文件in .dat中读取20行数据存放到字符串数组xx 中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是: 以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCII值 从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存 放,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数 writeDat把结果xx输出到out . dat文件中。例如:位置0 1 2345678源字符中abcdhgf
38、e123498765则处理后字符串dcbaefgh 432 1 956784注意:部分源程序存在test . c文件中。请勿改动数据文件in .dat中的任何数据、主函数main、读函数readDat 和写函数wilteDat的内容。1 :* include 2 ; include string.h3 - void readDat();4 ! void writeDat();5 char xx(20 80;6 ! void JsSort()7 : 18void main()9101112131415readDat();jsSort();writeDat();Z-”从文件mdn中读取20打数榭存
39、放到?符中敷蛆xxvoid readDat()17 i18 ;19 20 ;21 !22 iFILE *ln;int 1-0;char ep;in - fopen (Min.datH, ,frw;whiled 20 “ fgets (xxfiU 80.in)!= NULL)242526272629303233343536373839404123 Hp strchr(xx(ij r nf); if(p)p 0; fclose(in);卜“ ,把结果出h皿dll文竹中/void writeDat()FILE eout;int i;Iout fopen(outdat. ;for(i 0; i 20;
40、 1+)Iprintf(w%snw, xx(i);fprintf (out,xx (11);; (close(out);第11类字符串循环位移30.已知在文件in . dat中存有100个产品销售记录,每个产品销售记录 由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量S1(整型),金额je(长整型)五部分组成。其中:金额=单价*数 量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编 制函数SortDat,其功能要求:按金额从大到小进行排列,若金额相等, 则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sen中。最后main函数调
41、用函数WriteDat把结果输出到文件out . dat中。提示:若中间变量为PRtemp,则可以直接使用结构赋值语句进行解题。例如:例如=temp .注意:部分源程序存放在test . c文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。23458910111213I include include finclude fdefine MAX 100 typedef struct (char dm(5; /产品代科/ char me 111 ; /产丛名岩/ int dj;八值价/int si;/ ttl/long je;,命/ PRO;-PRO sell(
42、MAX; void ReadDat ();15 ! void WriteDat();16 ; void SortDat()18 20 ! void main()211 (22 - tnemset (aellr 0, sxzeof (sell);23 ReddDat(;24 ; SortDat();25 - WriteDat 0;26 i )27 ; void ReadDat()28 ;(29 FILE efp;30 char 3tr(B0|# ch(11;31 j int 1;32 j fp fopen(win.dat*r33 or(i 0; 1 100; +) I34 i 135 :fget
43、sstr/ 80, fp);36 , memcpy (seiHl dmr str. 4);37 . memcpy(sell(1)str 4. 10);38 ;:nemupy(ch,4); ch(40;39 selli.di atol(ch);40 j mewcpy(chr5); ch51-0;41 -selli.si atoi(ch);42 sell(iJ.je (long)selliJ.dj sell(i.si;43 ;|二工;44 ! (close(fp);45 1 )46 void WrlteDat O47 f 148 ; FILE efp:49 : int 1;50 fp fopen(*out .dat, wH);51 i for(i 0; i 100;工52 I (53 j fprmtf (fp, Is %s %5d H01d