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

2004年上半年软考程序员考试下午试题及答案

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

试题一

  阅读下列说明、流程图和算法,将应填入__(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   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”。

[1] [2] [3] 下一页

来源:网友上传- 程序员

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