加入收藏 设为首页 联系站长
当前位置:>首页 -> IT认证 -> 软件水平考试 -> 初级资格 -> 程序员考试 -> 程序员考试历年真题

TOP

2002年程序设计* 真题及*
[ 录入者:zhushican | 时间:2008-07-08 11:36:53 | 作者: | 来源: | 浏览:88次 ]

试题一

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

[流程图说明]

  下面的流程图用N—S盒图形式描述了数组A中的元素被划分的过程.其划分方法是:

  以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动.当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大子i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

[流程图]

[算法说明]

  将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],iht L,int H)的功能是实现数组A中元素的递增排序。

[算法]

 void sort(int A[],iht l,int H) {
 if ( L < H ) {
  k=p(A,L,R);     //p()返回基准数在数组A中的下标
  sort(__ (4)__;     //小于基准数的元素排序
  sortl__ (5)__);    //大于基准数的元素排序
  }
 }

  从下列的2道试题(试题二至试题三)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。


试题二

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

[函数2.1说明]

  函数palindrome(chars[])的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。

[函数2.1]

 int palindrome(char S[])
 { char *pi,*pj;
  pi=S;pj=s+strlen(S)-1:
  while ( pi<pj && __(1)__){
   pi++; pj--;
  }
  if(__ (2)__)return-1;
  else return 0;
 }

[函数2.2说明]

  函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

  例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。

[函数2.2]

 void f(char*str,char del)
 { int i,j,len;
  len = strlen(str);
  i = 0;
  while (i<len){
   while (__(3)__) i++;    /*忽略连续的标志字符*/
  /*寻找从str[i]开始直到标志字符出现的一个子字符串*/
   j = i + 1;
  while (str[j] !=del && str[j] !='\0') j++;
  __ (4)__="\0";         /*给找到的字符序列置字符串结束标志*/
  printf(" %s\t",&str[i]): ’
  __ (5)__;
  }
 }


<< < 1 2 3 4 5 > >> 1/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】 【关闭】 【返回顶部
[上一篇]2000年软件水平考试程序设计考试.. [下一篇]2003年程序设计* 真题及*

评论

称  呼:
内  容:

相关栏目

最新文章

热门文章

推荐文章

相关文章

广告位