首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 考试试题 >

09年计算机等级考试三级网络技术上机试题(2)

2008-12-08 
三级网络技术上机试题
    在文件IN.dat中有200个正整数,且每个数均在1000-9999之间。函数RData()读取这200个数存放到数组0riginal中。请编写函数numAscend(),其功能是:要求按每个数的后3位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组result中,如果后3位的数值相等,则按原先的数值进行降序排列。最后调用函数WData(),把结果result输出到文件OUT.dat中。
  例如,处理前:6012 5099 9012 7025 8088
  处理后:9012 6012 7025 8088 5099
  注意:部分程序已给出。请勿改动主函数main()、读数据函数RData()和输出数据函数WData()盼内容。

 


第2套试题答案及详解
  【审题分析】首先我们来看看题中要求我们解决的问题有哪些。①按original数组中各元素数字的后3位数的大小进行升序排列,如果数值相等,则按原先的数值进行降序排列;②取出排序后的original数组中的前10个数依次存入result数组中。
  【解题思路】根据上面的分析,编写程序有以下几个步骤:
  第1步:首先分解出数组中两个元素的后三位,这里采用在两次循环中求出正整数original[i]矛n original[j]对1000的余数的方法;
  第2步:然后比较两个数余数的大小,如果正整数0riginal[i]和original[j]对1000的余数不相同,则按照升序进行排序,如果相同,则比较original[i]和original[j]的大小,按照降序进行排序;
  第3步:利用一个for循环语句把original数组中的前10个数输出给result数组。
  【参考答案】



3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行