您现在的位置:您现在的位置: 一起学 >> 计算机 >> 软件水平考试 >> 模拟试题 >> 初级模拟题 >> 程序员 >> 正文

程序员考试模拟试卷——下午题

来源:网友上传  2012-4-25 22:48:54   【一起学:终身教育引导者

  (考试时间 14:00~16:30 共150分钟)

  本试卷共8道题,考生需解答5道题,其中试题1~试题3是必答题,试题4和试题5两题任选1道题,试题6至试题8三题任选1道解答。对于任选题,如果解答的试题数超过1道,则题号小的1道题解答有效。每题15分,满分75分。

  试题一(15分,每空3分)

  阅读以下说明和流程图,将应填入__(n)__处的字句写在答题纸的对应栏内。

  [说明]

  已知头指针分别为La和Lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示。

  试题二(15分,每空3分)

  阅读以下函数说明和C语言函数,将应填入___(n)___处的字句写在答题纸的对应栏内。

  [程序2.1说明]

  已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。

  [程序2.1]

  #include

  #define N 100

  void main()

  {

  float a[N=1],x;

  int i,p;

  printf("输入已经排好序的数列:");

  for( i=0; i

  scanf(%f",&a[i]);

  printf("输入要插入的数:");

  scanf("%f",&x);

  for( i=0,p=N; i

  if(x

  {

  ___(1)___

  break;

  }

  for( i=N-1; i>=p; i-- )

  ___(2)___

  ___(3)___

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

  printf("%f\t",a[i]);

  }

  [程序2.2说明]

  本程序用变量count统计文件中字符的个数。

  [程序2.2]

  #include

  #include

  void main()

  {

  FILE *fp;

  long count=0;

  if( (fp=fopen("letter.txt","r") ) == NULL )

  {

  printf("can not open file\n");

  exit(0);

  }

  while( !feof(fp) )

  {

  ___(4)___

  count++;

  }

  printf("count=%d\n",count);

  ___(5)___

  }

  试题三(15分,每空3分)

  阅读以下说明和C语言程序,将应填入___(n)___处的字句写在答题纸的对应栏内。

  [说明]

  Fibonacci数列A={11,2,3,5,8,…}有如下性质:

  a0=a1=1

  ai=ai-1+ai-2 i>1

  对于给定的n,另外有一个由n个元素组成的数列xn,该数列中各元素的值为:

  xi=ai/ai+1 i=0,1,…,n

  现要求对xn中的元素按升序进行排序,然后以分数形式输出排序后的xn。例如n=5时,排序前的xn={1/1,1/2,2/3,3/5,5/8},排序后的xn={1/2,3/5,5/8,2/3,1/1}。程序中函数make()首先生成排序前的xn,然后调用函数sort()进行排序,最后输出所求结果。

  [程序]

  #include

  #include

  #include

  struct fact

  {

  long m,n;

  };

  void sort(int n,struct fact *p)

  {

  int a;

  long s,t,u,v;

  struct fact *q,*end;

  for(end=p+(n-1),a=1;a;end--)

  for(a=0,q=p;q

  {

  s=q->m;

  t=q->n;

  u=(q+1)->m;

  v=(q+1)->n;

  if(___(1)___)

  {

  q->m=u;

[1] [2] [3] [4] [5] [6] [7] [8] 下一页

来源:网友上传- 程序员

责编:上传用户289797  收藏此页 打印 回到顶部