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

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

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

责任编辑:小草

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