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

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

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

责任编辑:小草

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