⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 历届试题 - 一九九八年度高级程序员级 下午试卷.htm

📁 几套关于程序员初级和高级的试题和答案
💻 HTM
📖 第 1 页 / 共 3 页
字号:
            <BR><BR>  1.考虑元素d[i]被包含在新的部分元素序列中的可能性。如果在当前部分元素序列之后接上d[i],新序列的元素和不超过total,则函数将d[i]包含在当前部分元素序列中。如果新的部分元素序列的元素和等于total时,新的部分元素序列就是一个解答,函数将其输出;否则,若继续考虑后面的元素还有可能找到解答时,函数就递归去考虑后面的元素,寻找解答。最后,函烽就恢复原来部分元素序列中不包含d[i]的状态。 
            <BR><BR>  2.考虑元素d[i]不被包含在新的部分元素序列中的可能性。如果继续向d[i]之后考虑还是有希望能得到和为total的部分元素序列时,函数将新序列不包含d[i]也作为一种可能的选择,并递归去考虑后面的元素,寻找解答。<BR><BR>#include 
            〈stdio.h〉 <BR><BR>#define N 100 <BR><BR>int a[N]; <BR><BR>int 
            flg[N]; <BR><BR>sum (int i,int total,int sigma,int rear,int d[],int 
            t) <BR><BR>{int j; <BR><BR> /*考虑元素d[i]被包含在新的部分元素序列中的可能性 */ 
            <BR><BR> if(sigma+d[i] total/*如果d[i]与当前序列的和不超过total*/ 
            <BR><BR> {flg[i]=1;/*d[i]被考虑在被部分元素序列中 */ <BR><BR>  if(_(1)_==total) 
            <BR><BR>  {/*输出解*/ <BR><BR>   for (j=0;flg[j]==0;j++); 
            <BR><BR>   printf("%4d=%d",total,d[j]); <BR><BR>   for(j++;<=i;j++) 
            <BR><BR>     if (flg[j]) <BR><BR>       printf("+%d",d[j]); 
            <BR><BR>   printf("\"); <BR><BR>  } <BR><BR>  else 
            /*并且继续考虑后面的元素有可能找到解答时 */ <BR><BR>  if(i<n-1 
            &amp;&amp;rear-d[i]+sigma>=total) 
            <BR><BR>    sum(i+1,total,_(2)_,rear-d[i],d,n); <BR><BR>  _(3)_; 
            <BR><BR> /*考虑元素d[i]不被包含在新的部分元素序列中的可能性。*/ <BR><BR> if 
            (i<n-1&amp;&amp;rear-d[i]+tigma>=total) 
            <BR><BR>     sum(i+1,total,_(4),rear-d[i],d,n); <BR><BR>} 
            <BR><BR>main() <BR><BR>{int i,j,n,total,s,d; 
            <BR><BR> printf("输入total!/n");scanf("%d",&amp;total); 
            <BR><BR> printf("输入n!/n"); scanf("%d",&amp;n); <BR><BR> for 
            (s=i=0;i<n;) <BR><BR> {printf ("输入第%d个元素>0且<=%d)\n",i+1,total); 
            <BR><BR>  scanf ("%d",&amp;d); <BR><BR>  if( d<1||d>total) 
            <BR><BR>   {printf("出错,请重新输入!\n"); <BR><BR>     contnue; 
            <BR><BR>   } <BR><BR>   s+=a[i++]=d; <BR><BR> } 
            <BR><BR> sum(0,total,0,_(5)_,a,n); <BR><BR> printf ("\n\n"); 
            <BR><BR>} <BR><BR><BR>试题八 
            <BR><BR>  阅读以下程序说明和FORTRAN程序,将应填入_(n)_处的字句,写在答卷的对应栏内。 <BR><BR>[程序说明] 
            <BR><BR>  本程序用以查找给定数组A的第K小元素。程序执行后,第K小元素存放在数组元素A(K)中。 
            <BR><BR>  设给定的数组中各元素A(i)=(i=1,2…N)互为不相等。它的第K(1≤k≤N)小元素是指这样的元素;它大于N个元素中的K-1个元素,而小于其余的N-K个元素。假如,假设N=8,数组A为:<BR><BR>44 
            94 12 50 55 6 18 67 <BR><BR>它的第5小元素(即K=5)是50。 <BR><BR>  本程序的处理过程如下: 
            <BR><BR>  将A(K)的值(此例为A(5),此时值为55)存入X,从左向右扫描,直至遇以第一个不小于X的元素(此时为94),再从右向左扫描,直到遇见第一个不大于X的元素(此时为18),然后交换这两个元素,数且A成为:<BR><BR>44 
            18 12 50 55 6 94 67 
            <BR><BR>继续这一“扫描与交换”的过程,直到两个方向的扫描在数组中间的某处汇合。此时数组被分成两段,汇合点左边的元素均小于汇合点右边的元素。然后选取存在第K小元素的一段,重复上述扫描、交换和调整扫描范围的处理过程。程序中采用L、R来表示扫描的范围的左右边界。开始时L为1,R为N,以后逐次调整。当变成为L值不小于R值时,A[K]即是第K小元素。<BR><BR>   SUBROUTINT 
            FIND(A,N,K) <BR>   INTEGET A(N),R,X,W <BR><BR>   L=1 <BR><BR>   R=N 
            <BR><BR>20  IF (L,LT,R)THEN <BR><BR>    X=A(K) <BR><BR>    I=L 
            <BR><BR>    J=R <BR><BR>30   IF(A(1),LT,X)THEN <BR><BR>     I=I+1 
            <BR><BR>     GOTO 30 <BR><BR>    ENDIF 
            <BR><BR>40   IF(___(1)___)THEN <BR><BR>     ___(2)___ 
            <BR><BR>     GOTO 40 <BR><BR>    ENDIF <BR><BR>    IF(I,LE,J)THEN 
            <BR><BR>     W=A(I) <BR><BR>     ___(3)___ <BR><BR>     I=I+1 
            <BR><BR>     ___(4)___ <BR><BR>    IF(I,LE,J)___(5)___ 
            <BR><BR>    ENDIF <BR><BR>    IF(J,LT,K)L=I 
            <BR><BR>    IF(___(6)___) R=___(7)___ <BR><BR>    GOTO 20 
            <BR><BR>   ENDIF <BR><BR>   RETURN <BR><BR>   END 
        <BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=755 align=center bgColor=#ffffff 
border=0>
  <TBODY>
  <TR vAlign=top>
    <TD>
      <TABLE cellSpacing=0 cellPadding=0 width="98%" align=center border=0>
        <TBODY>
        <TR>
          <TD>
            <HR noShade SIZE=1>

            <TABLE cellSpacing=0 cellPadding=1 width="60%" align=center 
border=0>
              <FORM name=reviewform action=/admin/addreview.php method=post>
              <TBODY>
              <TR bgColor=#eeeeee>
                <TD colSpan=2><B>发表你的评论&gt;&gt;</B></TD></TR>
              <TR>
                <TD vAlign=top width=213>您的名字:</TD>
                <TD vAlign=top width=542><INPUT size=32 name=mf_name> </TD></TR>
              <TR>
                <TD vAlign=top width=213>E-mail:</TD>
                <TD vAlign=top width=542><INPUT size=32 name=mf_email> </TD></TR>
              <TR>
                <TD vAlign=top width=213>评论内容:</TD>
                <TD vAlign=top width=542><TEXTAREA name=mf_reviewtxt rows=4 cols=32></TEXTAREA> 
                </TD></TR>
              <TR>
                <TD>&nbsp; </TD>
                <TD><INPUT class=inputclass style="WIDTH: 35px" type=submit value=发表! name=Submit> 
                  <BR>&nbsp; </TD></TR><INPUT type=hidden value=47 name=mf_pageid> 
              <INPUT type=hidden value=submitted name=mf_action> 
            </FORM></TBODY></TABLE>
            <TABLE cellSpacing=0 cellPadding=0 width="60%" align=center 
border=0>
              <TBODY>
              <TR bgColor=#eeeeee>
                <TD width="50%"><B>关于本文的评论:</B></TD>
                <TD><A href="http://www.xiaohui.com/admin/dispallreview.php" 
                  target=_blank>点此查看所有评论&gt;&gt;</A></TD></TR>
              <TR>
                <TD 
    colSpan=2>目前暂无任何评论</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD>&nbsp;</TD></TR></TBODY></TABLE><!-- #EndEditable -->
<TABLE cellSpacing=0 cellPadding=0 width=755 align=center bgColor=#ffffff 
border=0>
  <TBODY>
  <TR bgColor=#dddddd height=1>
    <TD></TD></TR>
  <TR align=middle bgColor=#efefef>
    <TD><A href="http://www.xiaohui.com/about/contact.htm">联系我</A> | <A 
      href="http://www.xiaohui.com/webmap.htm">站内导航</A> | <A 
      href="http://www.xiaohui.com/about/maillist.htm" target=_self>订阅邮件</A> | 
      <SPAN id=add_bookmark style="CURSOR: hand" 
      onclick="window.external.addFavorite('http://www.XiaoHui.com','小辉程序员之路')">加入书签</SPAN> 
      | <A class=text2 
      onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.XiaoHui.com');" 
      href="http://www.xiaohui.com/dev/exam/st/98x.htm#" target=_self>设为首页</A> 
    </TD></TR>
  <TR bgColor=#dddddd height=1>
    <TD></TD></TR></TBODY></TABLE>
<TABLE borderColor=#000000 height=80 cellSpacing=0 cellPadding=0 width=755 
align=center bgColor=#ffffff border=0>
  <TBODY>
  <TR align=middle borderColor=#ffffff>
    <TD><A href="http://www.xiaohui.com/">小辉程序员之路</A>(<A 
      href="http://www.chinaithero.com/">中国镜像</A>|<A 
      href="http://www.xiaohui.com/" target=_self>美国镜像</A>) ◇ 
      做一名最好的开发者是我不变的理想……<BR>Copyright(C) 1998-2004 XiaoHui.com &amp; 
      ChinaITHero.com &nbsp; All rights reserved<BR><FONT 
      color=#ff0000>声明:站内所有原创文字,未经许可,不得转载、复制。</FONT></TD></TR></TBODY></TABLE><BR><!-- #EndTemplate --></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -