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

  第65套上机考试试题
  已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffCal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值,再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于0且原四位数是偶数,则统计出满足此条什的数的个数count,并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到0UT.dat文件中。
  注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],已定义变量count。请勿改动数据文件IN.dat中的任何数据、主函数main()、读函数Rdata()和写函数Wdata()的内容。
  
  

  第65套试题答案及详解
  【审题分析】分析题目可知,本题只要实现diffCal()函数的功能即可。diffCal()函数要实现的功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数count,并把这些四位数按从小到大的顺序存入数组b中。因此解答本题的关键在于如何将一个四位数的各位拆分成单个数字和判断这个四位数是否为偶数。
  【解题思路】对于一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou;这个叫位数对1000求余然后再除以100,可得到这个网位数百位上的数字输给变量hun;这个阴位数对100求余然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个阴位数对10求余,可得到这个四位数个位上的数字输给变量data。
  然后判断表达式data-thou-un-ten>=O&&a[i]%2!=1是否成立,如果成立,则把这个数赋给数组b,同时计数变量count加1。最后利用双重循环对数组b按数组元素从小到大的顺序排序。
  【参考答案】
  
  
  【易错分析】用求余运算和除法运算得到一个四位数的各个位上的数字。
  【考点链接】求余运算、除法运算。

责任编辑:小草

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