08年下半年程序员下午试卷

08年下半年程序员下午试卷

ID:6576964

大小:195.00 KB

页数:13页

时间:2018-01-18

08年下半年程序员下午试卷_第1页
08年下半年程序员下午试卷_第2页
08年下半年程序员下午试卷_第3页
08年下半年程序员下午试卷_第4页
08年下半年程序员下午试卷_第5页
资源描述:

《08年下半年程序员下午试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2008年下半年程序员下午试卷试题一(共15分)  阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。  [说明]  下面流程图的功能是:在已知字符串A中查找特定字符串B,如果存在,则输出B串首字符在A串中的位置,否则输出-1。设串A由n个字符A(0)、A(1)、…、A(n-1)组成,串B由m个字符B(0)、B(1)、…、B(m-1)组成,其中n≥m>0。在串A中查找串B的基本算法如下:从串A的首字符A(0)开始,取子串A(0)A(1)…A(m-1)与串B比较;若不同,则再取子串A(1)A(2)…A(m)与串B比较,

2、依次类推。  例如,字符串“CABBRFFD”中存在字符子串“BRF”(输出3),不存在字符子串“RFD”(输出-1)。  在流程图中,i用于访问串A中的字符(i=0,1,…,n-1),j用于访问串B中的字符(j=0,1,…,m-1)。在比较A(i)A(i+1)…A(i+m-1)与B(0)B(1)…B(m-1)时,需要对A(i)与B(0)、A(i+1)与B(1)、…、A(i+j)与B(j)、…逐对字符进行比较。若发现不同,则需要取下一个子串进行比较,依此类推。[流程图](1)j+1(2)i+1(3)0(4)I(5)-1试题二(共15分)  阅读以下说

3、明和C程序代码,将应填入(n)处的字句写在答题纸的对应栏内。  [说明]  下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。  函数intisPalm(longm)的功能是:将正整数m的各位数字取出存入数组中,然后

4、判断其是否为回文数。若m是回文数则返回1,否则返回0。  [C程序代码]  #include  #include  intisPalm(longm)  {/*判断m是否为回文数*/  inti=0,k=0;  charstr[32];  while(m>0){/*从个位数开始逐个取出m的各位数字并存入字符数组str*/  str[k++]=(1)m%10+'0';  m=m/10;  }  for(i=0;i

5、turn1;  }  intmain()  {  longn,a,t;  printf("inputapositiveinteger:");scanf("%ld",&n);  if(n<100

6、

7、n>=1000)return-1;  while((3)ispalm(n)==0){/*n不是回文数时执行循环*/  printf("%ld->",n);  for(a=0,t=n;t>0;){/*计算n的反序数并存入a*/  a=(4)a*10+t%10;t=t/10;  }/*endoffor*/  n=(5)a+n;/*与反序数求和*/  }/*end

8、ofwhile*/  printf("%ld",n);  system("pause");return0;  }试题三(共15分)  阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。  [说明]  已知某二叉树的非叶子结点都有两个孩子结点,现将该二叉树存储在结构数组Ht中。结点结构及数组Ht的定义如下:  #defineMAXLEAFNUM30  structnode{  charch;/*当前结点表示的字符,对于非叶子结点,此域不用*/  char*pstr;/*当前结点的编码指针,非叶子结点不用*/  intparent;/

9、*当前结点的父结点,为0时表示无父结点*/  intlchild,rchild;  /*当前结点的左、右孩子结点,为0时表示无对应的孩子结点*/  };  structnodeHt[2*MAXLEAFNUM];/*数组元素Ht[0]不用*/  该二叉树的n个叶子结点存储在下标为1~n的Ht数组元素中。例如,某二叉树如图3-1所示,其存储结构如图3-2所示,其中,与叶子结点a对应的数组元素下标为1,a的父结点存储在Ht[5],表示为Ht[1].parent=5。Ht[7].parent=0表示7号结点是树根,Ht[7].lchild=3、Ht[7].r

10、child=6分别表示7号结点的左孩子是3号结点、右孩子是6号结点。  如果用“0”或“1”分别标识二叉树的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。