全国计算机等级考试三级网络技术上机答案解析

举报
资源描述
1 (1),2(11),3(23),4(27),5(39),6(40),7(42),8(46),9(47),10(53),11(60),12(63),13(66),14(76),15(79),16(85),17(90),18(93),19(96),20(98)全国计算机等级考试三级网络技术上机考试试题答案解析内容简介本书根据 全国计算机等级考试上机专题、全真笔试、历年真题三合(2 0 0 9 年 1 1 月第一次印刷)配套光盘中上机答案解析编写,题目顺序与原书顺序一致。本书内容仅供参考,版权归原书作者。第001套【考点分析】本题考查对4 位整数的排序。考查的知识点主要包括:熬俎无素的排澹算,法,if 判断语句和遗晴表达X,“I 双求企算木运窜。【解题思路】此题属于4 位数排序问题。本题需主要解决3 个问题:问始 如 何取4 位数的后3 位进行比较;间要2 如何按照题目要求的条件(按照每个数的后3 位的大小进行降序排列,如果后3 位相等,则按照原始4 位数的大小进行升序排列)排序;问要3 如何将排完序的前1 0 个数存到数组b b 中去。本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前1 0 个数存到数组b b 中。对于问散1 可以通过算术运算的取余运算实现(a a i%1 0 0 0);问效2 通过包含if 判断语句的起泡排序法就可以实现。【参考答案】v o id js S o r t()(in t i,j;in t t e m p;f o r(i=0;i 1 9 9;i+)f o r(j=i+l;j 2 0 0;j+)/*定义循环控制变量*/*定义数据交换时的暂存变量*/*用选择法对数组进行排序*/if(a a i%1 0 0 0 a a j)/*则要按原4 位数的值进行升序排序*/t e m p=a a i;a a i=a a j;a a j=t e m p;)f o r(i=0;i 1 0;i+)/*将排序后的前1 0 个数存入数组b 中*/b b i=a a i;【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。第 002套【考点分析】本题主要考查的知识点包括:c 语言循环辂构,if判断语句公逻.就表达式,。及合解多佐整照的霁木运苒。【解题思路】分析题干,本题除给出条件SIX+SIX+SIX=NINE+NINE”之外,还可得出2个隐含的条件:条件1,SIX和NINE分别是3位和4位的正整数;聚件2,SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX+SIX+SIX=NINE+NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。【参考答案】void countValue()(int i,j;int s2;int n2,n3,n4;for(i=100;i1000;i+)(for(j=1000;j10000;j+)(if(i*3=j*2)(s2=i%100/10;n4=j/1000;n3=j%1000/100;n2=j%100/10;if(s2=n3&n2=n4)cnt+;sum+=i+j;)【易错提示】隐含条件未被分析出或分析错误,整数数位分解的算术方法使用错误。第 003套【考点分析】本题考查的知识点包括:c语言中文件接备激,if条件判断给构,对多个卷黑求华衲俊和方姜的算法得。【解题思路】此题属于数学类问题。分析题干要求,得出解本题主要需解决3 个问题:问教1 如何实现从已打开的文件中依次读取数据到数组的操作,间题2 如何分离并统计出奇数和偶数的个数及和值,并计算平均值;间敢3 如何计算奇数的方差。本题的解题思路为:首先使用C语言的库函数f s c a n f()将文件中的数依次读入数组x x 中,然后通过循环判断得出需要的数据(奇数个数、偶数个数、奇数及偶数的和);最后根据题目中已给出的公式和之前保存的数据计算出奇数的方差。【参考答案】i n t R e a d D a t(v o i d)(FILE*fp;i n t i,j;/*计数器变量*/i f(f p=f o p e n(I N.D A T ,r )二 二 N U LL)r e t u r n 1;f o r(i=0 ;i 1 0 0;i+)/*依次读取整型数据放入数组x x 中*/(f o r(j=0;j 1 0;j+)f s c a n f(f p,d,&x x i*1 0+j );f s c a n f(f p,n );i f(f e o f(f p)b r e a k;/*文件读取结束,则退出*/f c l o s e(f p);r e t u r n 0;v o i d C o m p u t e(v o i d)i n t i;i n t t t MA X ;/*定义循环控制变量*/*定义数组保存奇数*/f o r(i=0;i 1 0 0 0;i +)i f(x x i%2!=0)第 004套【考点分析】本题考查对一定范围内整数的筛选。考查的知识点主要包括:,住整数的今解算法,完全年方被判断方法,i f判断语句为逻晴表达式。【解题思路】此题属于数学类问题。分析题干,本题需注意2个关键点:关键点1判断该数是否是完全平方数;关铤点2判断该数是否有两位数数字相同。本题的解题思路为:通过循环控制,依次判断1 0 0至9 9 9数是否满足关健亘1(是否为完全平方数)。如果是,则将该数分解出各位数数字,并判断是否有两位数数字相同,如果存在,则个数加1,并将该数存入数组中。【参考答案】i n t j s Va l u e(i n t b b )i n t i,j;i n t c n t=0;i n t a 3,a 2,a l;/*定义循环控制变量*/*定义计数器变量*/*定义变量存储三位数每位的数字fo r(i=1 0 0;i =9 9 9;i+)/*在该范围中找符合条件的数*/fo r(j=1 0;j =s qrt(i);j+)i f(i=j*j)/*如果该数是完全平方数*/a 3=i/1 0 0;a 2=i%1 0 0/1 0;a l=i%1 0;i f(a 3=a 2|a 3=a l/*求该数的百位数字*/*求该数的十位数字*/*求该数的个位数字*/I a 2=a l)/*有两位数字相同*/b b c n t =i;c n t+;/*则把该数存入数组b b中*/*统计满足条件的数的个数*/)return ent;/*返回满足该条件的整数的个数*/【易错提示】完全平方数的判断方法错误,分解整数各个数位的方法错误,if判断语句中表达式。第005套【考点分析】本题考查对一定范围内整数的筛选。考查的知识点主要包括:多佐卷数的令解算法,素檄的判断算法,if判断语句加迂辑表达式。【解题思路】此题属于数学类问题。分析题干要求,归纳出本题的2个关键点:关被直1判断该数是否为素数;关低点2判断是否满足条件:个位数字和十位数字之和被10除所得余数等于百位数字。本题思路为:通过循环语句,依次求出所有3位数的各位数数字,并判断是否满足关徒点2(个位数字和十位数字之和被10除所得余数等于百位数字),如果满足则判断该数是否为素数,如果是则个数加1,并将该数加到和值中。判断的方法为:依次取从2到该数1/2的数去除这个数,如果有一个可被整除,则不是素数,如果循环后的数大于该数的一半就可以判定该数是一个素数。【参考答案】void countValue()(int i,j;int h a lf;int a3,a2,a l;for(i=101;i1000;i+)(a3=i/100;a2=i%100/10;al=i%10;if(a3=(a2+al)%10)除所得余数恰是百位数字*/(half=i/2;fo r(j=2;jhalf)/*如果是素数*/(cnt+;/*计算这些素数的个数ent*/sum+=i;/*计算这些素数值的和sum*/)【易错提示】素数的判断算法使用错误,分解整数各个数位的方法错误,if判断语句中逻辑表达式错误。第 006套【考点分析】本题考查结构体数组的排序。考查的知识点主要包括:给构体鼠员运算,名符串比较符,数俎郴再。【解题思路】此题属于销售记录排序类题型。此类题型主要考查对结构体数组的排序。解题时,应注意3个关键点:关被直1如何按产品名称从小到大排序;关版直2如果产品名称相同;关铤点3如何按金额从小到大排列。数组排序可以用起泡法实现,起泡法的思路是:将较小的值像空气泡一样逐渐 上浮 到数组的顶部,而较大的数值逐渐 卜沉”到数组的底部。具体为第1趟用第1个记录和第2个记录进行比较,如果不符合要求,就进行交换,第2个记录和第3个记录比较,直到倒数第2个记录和最后1个记录比较完成;第2趟用第2个记录和第3个记录比较,然后第3个和第4个比较,依此类推。本题在双循环中进行每次记录比较时,首先用字符串比较函数stremp比较两个产品的名称,如果返回的值大于0,则这两个产品进行数据交换;如果返回值等于0,再比较两个产品的金额,如果前一个产品的金额大于后一个产品的金额,则这两个产品进行数据交换。【参考答案】void SortDat()(int i,j;/*定义循环控制变量*/PRO temp;/*定义数据交换时的暂存变量(这里是P RO 类型的结构体变量)*/f or(i=0;i 9 9;i+)/*利用选择法进行排序*/f or(j=i+l;j 0)/*按产品名称从小到大进行排列*/(te mp=se l l i;se l l i=se l l j ;se l l j =te mp;e l se if (str c mp(se l l i.me,se l l j .mc)=0)/*若产品名称相同*/if (se l l i.j e se l l j .j e)/*则按金额从小到大进行排列*/(te mp=se l l i;se l l i=se l l j ;se l l j =te mp;)模板一销售记录排序【模板速记】记忆口诀:一定义二循环三比较。定义指定义变量,循环指循环语句,比较是比较记录成员大小及交换,详见模板。做题时,需灵活应用模板,切勿死记硬背。【易错提示】结构型数据对成员的访问用成员运算符;两个字符串的比较用字符串比较函数strcmp。第007套【考点分析】本题考查对多个整数的筛选以及排序。考查的知识点主要包括:,住米数的今解算法,运航表达式,数俎神格算法。【解题思路】此题属于4位数的筛选类题,并且需求出各位数数字,再筛选排序。解此类题目需主要解决3个问题:问曼1如何取得4位数的各个数位数字;问来2如何通过条件(本题为千位数字加个位数字等于百位数字加十位数字)筛选出满足条件的数;问敢3如何对数组中的数进行排序。解此类题的一般思路为:先求出每个数的各位数字,再根据各位数数字筛选出满足条件的数存入新的数组中,最后对新数组进行排序。对于问敢1通过算术运算取余和整除可以分解得到4位数的各个数位上的数字;问敦2通过if条件判断语句和逻辑表达式可以实现。问敢3排序可以通过循环嵌套的起泡法来完成。在求各位数数字时,先将每个数进行取整运算求出千位数,将该数取余再除100取整得出百位数,将该数取余再除10取整得出十位数,最后将该数取余得出个位数。【参考答案】voidjsValue()(int i,j;int al,a2,a3,a4;数字*/int temp;*/for(i=0;i300;i+)(a4=ai/1000;a3=ai%1000/100;a2=ai%100/10;al=ai%10;if(a4+al=a3+a2)十位数*/*定义循环控制变量*/*定义变量保存4位数的每位/*定义数据交换时的暂存变量/*逐个取每一个4位数*/*求4位数的千位数字*/*求4位数的百位数字*/*求4位
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号