扫码加入训练营

牢记核心词

学习得礼盒

厦门大学1999年计算机专业课考研真题试卷(回忆版)

2014-09-25 18:14:43来源:新东方在线编辑整理

  五、填空

  1、[程序说明]如下程序读入字符序列,直至读入全部26个大写英文字母时停止,输出下列内容:

  (1)读入字符总数;

  (2)各大写字母首次输入时读入字符顺序号(从1开始计数);

  (3)首次读入的5个大写字母出现字数;

  program csdge05(input,output );

  var c: char ; n,m:integer ;

  s,sl:_____________________________;

  p,g:array['a'..'z'] of integer ;

  begin

  s:=_________________; sl:=[] ; n:=0;________________________;

  for c:='a' to 'z' do

  begin g[c] :=0 ;

  p[c] :=0; end;

  repea t read(c) ;________________;

  if _____________ then

  begin

  s:=s_[c]; p[c] :=n;

  if m<5 then

  begin ___________; m:=m+1 end

  end;

  if ____________________ then g[c]+1

  unti l ________________; writeln;

  writeln (n,'character counted');

  for c:='a' to 'z' do

  begin write (c, p[c]:8);

  if g[c] <>0 t hen write (g[c]:8); writeln

  end

  end.

  2、[程序说明]如下程序实现带插入的树检索:给定一系列整数,输出每个整数出现的次数。为此,从空树开始,在树中检索每一个整数,如果找到,其出现次数加1,否则就作为一个新结点插入。

  program csdge06(input,output );

  type ref=^word;

  word =record

  key :integer;

  count:integer;

  left ,right: ref

  end;

  var root: ref; k :integer;

  procedure printtree(w:ref; l:integer);

  var i :integer;

  begin if w<>nil then

  ---------------------

  begin printtree(left,l+1);

  for i:=1 to l do write(' ');

  writeln (key); ---------------------- end

  end;

  procedure search(x:integer; var p:ref);

  begin

  if p=nil then

  begin -------------;

  with p^ do

  begin key:=x; count:=1;

  left =nil ; right= nil end end

  else

  if x< p^.key then search(x,p^.left) else ----------------

  then search (x,p^.right) else -----------------

  end

  begin

  ----------------------

  while not eof (input ) do

  begin read(k) ; search(k,root) end;

  printtree(root,0)

  end.

  六、在5*5格的棋盘上(如下图所示),找出一种方案。使得从1点出发,按日字跳马,可以不重复地跳经所有方格。要求用递归方法求解。

  (1)详细描述你的算法;

  (2)编写完整的pascal程序.


考研公开课小程序

考研英语核心词汇营

背词+听课+练习+督学,学习得礼盒

更多资料
更多>>
更多内容

关注新东方在线考研服务号

获得21考研真题及答案解析

1. 打开手机微信【扫一扫】,识别上方二维码;
2.点击【关注公众号】,获取资料大礼包。

近10年考研真题及答案免费下载
更多>>
更多公开课>>
更多>>
更多资料