全国计算机等级三级网络技术机试练习习题(40)
来源:优易学  2010-1-14 20:31:04   【优易学:中国教育考试门户网】   资料下载   IT书店

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

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

责任编辑:小草

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