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

2008年12月程序员笔试考前练习(22)

2008-12-17 
程序员笔试考前练习

    2008年下半年软件考试因故推迟了,这未尝不是一件好事,对于那些准备还不够充分的考生来说,现在正是查漏补缺的好时机,本站为您整理了考前练习题,希望对您有所帮助,祝您考出好成绩!

    【说明】
  函数move(int*a,int n)用于整理数组a[]的前n个元素,使其中小于0的元素移到数组的前端,大于0的元素移到数组的后端,等于0的元素留在数表中间。
  令a[0]~a[low-1]小于0(初始为空);a[low]~a[i-1]等于0(初始为空);a[i]~a[high]还未考察,当前考察元素为a[i]。a[high+1]~a[n-1]大于0(初始为空)。
  【函数】
  move(int*a,int n)
  {
  int i,low,high,t;
  low=i=0;high=n-1;
  while( (1) )
  if(a[i]<0)
  {
  t=a[i];a[i]=a[low];a[low]=t;
  (2) ;i++;
  }
  else if( (3) )
  {t=a[i];a[i]=a[high];a[high]=t;
  (4) ;
  }
  else (5) ;
  }
  【答案】
  (1)i<=high
  (2)low++
  (3)a[i]>0
  (4)high--
  (5)i++

 

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

热点排行