2011年计算机等级三级数据库上机题及答案

来源:计算机等级考试    发布时间:2012-08-27    计算机等级考试视频    评论

  2.在文件IN.dat中有200个正整数,且每个数均在1000~9999之间。函数RData()读取这200个数存放到数组original中。请编写函数numAscend(),其功能是:要求按每个数的后3位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组result中,如果后3位的数值相等,则按原先的数值进行降序排列。最后调用函数WData(),把结果result输出到文件OUT.dat中。

  例如,处理前:6012 5099 9012 7025 8088

  处理后:9012 6012 7025 8088 5099

  【答案】

  void numascend()

  { int i, j, data;

  for (i=0; i<199; i++)

  for (j=i+1; j<200; j++)

  { if (original[i]00 > original[j]00)

  { data = original[i];

  original[i] = original[j];

  original[j] = data;

  }

  else if (original[i]00 == original[j]00)

  { if (original[i] < original[j])

  { data = original[i];

  original[i] = original[j];

  original[j] = data;

  }

  }

  }

  for (i=0; i<10; i++)

  result[i] = original[i];

  }

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答