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

  第43套上机考试试题
  已知在文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。其中:金额=单价×数量。函数RData()读取这100个销售记录并存入结构数组sell中。请编写函数SortDat(),其功能是:按金额从人到小进行排列,若金额相等,则按产品代码从小到人进行排列,最终排列结果仍存入结构数组sell中。最后调用甬数WData(),把结果输出到OUT.dat文件中。
  注意:部分源程序已经给出。请勿改动主函数main()、读数据函数RData()和输出数据函数WData()的内容。
  
  

  第43套试题答案及详解
  【审题分析】分析题目可知,本题只要实现SoreDat()函数的功能即可。SoreDat()要实现的功能是:按会额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列缔果仍存入结构数组sell中。因此解答本题的关键在于如何通过自定义类型变量读取一条销售记录,并按其中指定韵成员排序。
  【解题思路】在双重for循环中首先比较两个产品的金额,如果前一个产品的金额小予后一个产品的金额,则这两个产品进行数据交换。如果两个产品的金额相等,则用字符串比较函数strcmp比较两个产品的代码,如果返回的值大于0,则这两个产品进行数据交换。
  【参考答案】
  
  【易错分析】结构型数据对成员的访问用“.”成员运算符;两个字符串的比较用字符串比较函数strcmp()。
  【考点链接】成员运算符、字符串比较函数strcmp、ifelse语句。

责任编辑:小草

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