全国计算机等级三级网络技术上机练习习题(52)
来源:优易学  2010-1-15 9:42:25   【优易学:中国教育考试门户网】   资料下载   IT书店

 第52套上机考试试题
  在文什IN.dat中有200组数据,每组有3个数,每个数均是三位数。函数Rdata()读取这200组数据存放到结构数组aa中,请编写函数numSort(),其功能是:要求在200组数据中找出条件为每组中的第2个数大于第1个数加第3个数之和,其中满足条件的组数作为函数numSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第2个数加第3个数之和的大小进行降序排列(第2个数加第3个数的和均不相等),排序后的结果仍重新存入结构数组bb中。最后调用函数Wdata(),把结果bb输出到文件OUT.dat中。
  注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。
  

  第52套试题答案及详解
  【审题分析】分析题目可知,本题只要实现numsort()函数的功能即可。numSort()要实现的功能是:要求在200组数据中找出条件为每组中的第2个数大于第1个数加第3个数之和,其中满足条件的组数作为函数numsort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第2个数加第3个之和的大小进行降序排列(第2个数加第3个数的和均不相等),排序后的结果仍重新存入结构数组bb中。因此解答本题的关键在于如何将一个数拆分出前面的3何数字成单个数字,并比较大小以及排序。
  【解题思路】在for循环语句巾,自变量i从0递增到200,判断每组中的第2个数大于第1个数加第3数之和即表达式aa[i].x2>aa[i].x1+aa[i].x3是否成立,如果表达式成立,即把aa[i]赋给数组变量bb,同时计数变量cnt自加。最后用两重循环对数组bb中的数据按照每组数据的第2个数加第3个之和的大小进行降序排列。
  【参考答案】
  
  【易错分析】每组数据的数据结构的存储采用了结构型数据结构struct data,这样有利于简化算法的复杂性。
  【考点链接】结构型数据结构的定义与使用。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训