全国计算机等级三级网络技术机试练习习题(26)
来源:优易学  2010-1-14 20:22:01   【优易学:中国教育考试门户网】   资料下载   IT书店
  第26套上机考试试题
  已知数据文什IN.dat中存有300个四位数,并已调用读函数RData()把这些数存入数组a中,请编写函数isValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于0的数的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后调用写函数WData(),把结果输出到OUT.dat文件中。
  例如,9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数count=count+1。9812,9-8-1-2<0,则该数不满足条件,忽略。
  稗序中已定义数组a[300],b[300];已定义变量count。
  注意:部分程序已经给出。请勿改动主函数main()、读函数RData()和写函数WData()的内容。  


 第26套试题答案及详解
  【审题分析】分析题目可知,本题只要实现isValue函数的功能即可。函数jsValue要实现的功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数count,冉把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。因此解答本题的关键在于如何将一个四位数的各位上的数字拆分成单个数字。
  【解题思路】对于每个四位数,用这个四位数除以1000,可得到这个四位数的千位上的数字输给变最thou;这个四位数对1000求余然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对100求余然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个四位数对10求余,可得到这个四位数个位上的数字输给变量data。然后判断表达式thou-hun-ten-data是否大于0,如果大于0,则这个四位数是满足题目条件的数字,这个数字输给数组b,同时计数变量count加1。最后利用两重循环对数组b的元素进行从小到大的排序。
  【参考答案】 

  【易错分析】用求余运算和除法运算得到一个四位数的各个位上的数字。
  【考点链接】求余运算、除法运算、数组元素的从小到大排序。

责任编辑:小草

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