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

📄 19982.htm

📁 全国系统工程师(高级程序员)考试试题 包括了自1996年到2002年的全部试题
💻 HTM
📖 第 1 页 / 共 2 页
字号:
READ X, Y<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S = S + (FMP (FMP (X)) + FMP (Y))/ 2<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ELSE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF P &lt;&gt; 4 THEN<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; READ Z<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Q = Q - Z<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ELSE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RESTORE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END IF<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END IF<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END SUB<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FUNCTION FMP (X)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FMP = SQR (X + 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END FUNCTION<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 程序执行后,输出结果为__(4)__ 。<BR><BR><B>试题二</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下 C 语言程序,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR><B>[程序2.1]</B><BR>&nbsp; void u(int i,char *cp)<BR>&nbsp; { for ( ; i; i--)<BR>&nbsp;&nbsp;&nbsp; printf("%c",cp++);<BR>&nbsp; }<BR>&nbsp; main()<BR>&nbsp; { char a[][3] = { "eof", "ABC", "DE" };<BR>&nbsp;&nbsp;&nbsp; char *p;<BR>&nbsp;&nbsp;&nbsp; L1: p = a[0]; u(1,p++); u(1,p++); u(1,p); printf("\n");<BR>&nbsp;&nbsp;&nbsp; L2: p = a[1]; u(3,p++); u(2,p++); u(1,p); printf("\n");<BR>&nbsp;&nbsp;&nbsp; L1: printf("%s\n, a[1]");<BR>&nbsp; }<BR>&nbsp; <B>[程序2.1]</B> 的 L1,L2,L3行分别输出__(1)__、__(2)__和 __(3)__。<BR></P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>[程序2.2]<BR></B>&nbsp; double x , u , v;<BR>&nbsp; double f( ), g( ), t( );<BR>&nbsp; main()<BR>&nbsp; { x = 4.0;;<BR>&nbsp;&nbsp;&nbsp; u = t(x,f );<BR>&nbsp;&nbsp;&nbsp; v = t(x,g);<BR>&nbsp;&nbsp;&nbsp; printf("u = %10.6f v = %10.6f\n", u , v);<BR>&nbsp; }<BR>&nbsp; double t( double a, double (*f) ( ))<BR>&nbsp; { return (*f) (a + a);<BR>&nbsp; }<BR>&nbsp; double f( double x)<BR>&nbsp; { return 3.0*x;<BR>&nbsp; }<BR>&nbsp; double g( double x)<BR>&nbsp; { return 3.0+x;<BR>&nbsp; }<BR></P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">&nbsp; <B>[程序2.2]</B> 的输出为 u =__(4)__ , v =__(5)__.<BR><BR><B>试题三 </B>略(FoxBASE)<BR><BR>&nbsp;&nbsp;&nbsp; 从下列的 3 道试题(试题四至试题六)中任选 1 道解答。如果解答的试题数超过 1&nbsp;</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">道,则题号小的解答有效。<BR><BR><B>试题四</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下程序说明和 BASIC 程序,将应填人__(n)__处的字句,写在答卷的对应栏<BR>&nbsp;内。<BR><B>[程序说明]</B><BR>&nbsp;&nbsp;&nbsp; 本程序将字符串 A$ 中的所有字符子串 B$ 替换为字符串 R$。<BR><B>[程序]</B><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT "&nbsp; A$= ";&nbsp; A$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT "&nbsp; B$= ";&nbsp; B$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT "&nbsp; R$= ";&nbsp; R$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D$ = A$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A$ = ""<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LB = LEN (B$)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD = LEN (D$)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DO WHILE LD &gt;= LB<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; K = __(1)__<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT " K= "; K, " LD=" ; LD<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF K = 0 THEN GOTO L<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C$ = LEFT$( __(2)__) + R$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D$&nbsp; =&nbsp; RIGHT$(D$,LD - __(3)__)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A$ = AS + C$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD =&nbsp; ; __(4)__. (D$)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOOP<BR>&nbsp; L:&nbsp;&nbsp; A$ = A$ + __(5)__<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT" NEW STRING A$="; A$<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<BR><BR><B>试题五</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下程序说明和 C 语言,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR><B>[程序说明]</B><BR>&nbsp;&nbsp;&nbsp; 本程序利用牛顿切线公式计算数 a (不为 0)的立方根。根据牛顿公式,其第 n+1<BR>次近似根与第 n 次近似根满足:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x<SUB>n+1</SUB> = (2x<SUB>n</SUB><SUP>3</SUP>+a)/(3x<SUB>n</SUB><SUP>2</SUP>)<BR>&nbsp;&nbsp;&nbsp; 要求相邻两次近似根的差的绝对值小于等于 0.00001 时停止迭代。初次近似根 x<SUB>0</SUB> 取<BR>值为 1。<BR><B>[程序]</B><BR>&nbsp; #include &lt;math.h&gt;<BR>&nbsp; #define Epsilon ____(1)____<BR>&nbsp; main ()<BR>&nbsp; { double x , y = 1 , a ;<BR>&nbsp;&nbsp;&nbsp; printf(" 请输入要开方的数,a");<BR>&nbsp;&nbsp;&nbsp; scanf("if",___(2)___);<BR>&nbsp;&nbsp;&nbsp; do { ___(3)___; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*保存前次近似根*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = ___(4)___ + a/(3*x*x); /*计算本次近似根*/<BR>&nbsp;&nbsp;&nbsp; }&nbsp; while (___(5)___ Epsilon);<BR>&nbsp;&nbsp;&nbsp; printf("The cubic root of&nbsp; %f is %10.5f\n",a,y);<BR>&nbsp; }<BR><BR><B>试题六</B> 略(FoxBASE)<BR><BR>&nbsp;&nbsp;&nbsp; 从下列的 3 道试题(试题七至试题九)中任选 1 道解答。如果解答的试题数超过 1&nbsp;</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">道,则题号小的解答有效。<BR><BR><B>试题七</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下程序说明和 BASIC 程序,将应填人__(n)__处的字句,写在答卷的对应栏<BR>内。<BR><B>[程序说明]</B><BR>&nbsp;&nbsp;&nbsp; 本程序利用随机函数产生 200 个 10-500 之间(可包括 10 和 500 )的整数,并输<BR>出其中的质数个数、最大质数和最小质数。<BR><B>[程序]</B><BR>&nbsp;&nbsp;&nbsp;&nbsp; DIM A (199)<BR>&nbsp;&nbsp;&nbsp;&nbsp; FOR I = 0 TO 199<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A(I) = __(1)__ + 10<BR>&nbsp;&nbsp;&nbsp;&nbsp; NEXT I<BR>&nbsp;&nbsp;&nbsp;&nbsp; J=0<BR>&nbsp;&nbsp;&nbsp;&nbsp; FOR I - 0 TO 199<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR X = 2 TO INT(SQR(A(I) + 1))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF __(2)__ THEN GOTO L<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NEXT X<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __(3)__<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; J = J + l<BR>&nbsp;L:&nbsp; NEXT I<BR>&nbsp;&nbsp;&nbsp;&nbsp; PRINT" 质数个数 ="; J<BR>&nbsp;&nbsp;&nbsp;&nbsp; IF J &gt; 0 THEN<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAXP = 10<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MINP- 500<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR I = 0 TO J - 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF&nbsp; __(4)__ THEN MAXP = A (I)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF&nbsp; __(5)__ THEN MINP = A (I)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NEXT I<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT " 最大质数是 " MAXP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT " 最小质数是 " MINP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END IF<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<BR><BR><B>试题八</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下程序说明和 C 语言,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR>[程序说明]<BR>&nbsp;&nbsp;&nbsp; 本程序是一函数 check(s),它检查给定字符串 s 是否满足下列两个条件:<BR>&nbsp;&nbsp;&nbsp; 1.从字符串首字符起,在顺序检查 s 中字符的过程中,遇到右括号 ')' 的个数在<BR>任何使均不超过所遇到的左括号 '(' 的个数。<BR>&nbsp;&nbsp;&nbsp; 2. 字符串 s 中左括号 '(' 的个数与右括号 ')' 的个数相同。<BR>&nbsp;&nbsp;&nbsp; 若字符串 s 同时满足上述条件 1 和 2 ,函数返回非 0 值,否则返回 0 值。<BR>[程序]<BR>&nbsp; int check(s)<BR>&nbsp; __(1)__;<BR>&nbsp; { int lp, rp;<BR>&nbsp;&nbsp;&nbsp; while ( ___(2)___);<BR>&nbsp;&nbsp;&nbsp; { if (*s == ')' )&nbsp; lp++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if ( *s == '( ' )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { rp++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( ___(3)___ ) return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ___(4)___;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return ___(5)___;<BR>&nbsp; }<BR><BR><B>试题九</B> 略(FoxBASE)<BR><BR>&nbsp;&nbsp;&nbsp; 从下列的 3 道试题(试题十至试题十二)中任选 1 道解答。如果解答的试题数超过 1&nbsp;</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">道,则题号小的解答有效。<BR><BR><B>试题十</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下程序说明和 BASIC 程序,将应填人__(n)__处的字句,写在答卷的对应栏<BR>内。<BR><B>[程序说明]</B><BR>&nbsp;&nbsp;&nbsp; 本程序每次输入一个用户编码(编码为正整数)及其存款金额,然后累计同一用户的<BR>存款金额并按用户编码由小到大的顺序排列已输入的所有存款。最后输出排序后的所有用户<BR>的存款总额。<BR><B>[程序]</B><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DIM CODE%(1000),MONEY(1000)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N = 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT " 输入整数编码(-1为退出):"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT WCODE%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DO WHILE WCODE% &gt; 0 AND N &lt; 1000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT " 输入存款额:"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT WMONEY<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I = 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DO WHILE I &lt; N AND __(1)___<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I = I + 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOOP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF __(2)__&nbsp; THEN<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MONEY (I) = MONEY(I) + WMONEY<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ELSE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR __(3)__<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CODE% (J) = CODE% (J - 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MONEY (J) = MONEY (J - 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NEXT J<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CODE%(J) = WCODE%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MONEY(J) = WMONEY<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N = N + 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END IF<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT&nbsp; " 输入下一个整数编码(-1为退出):"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT WCODE%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __(4)__<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FOR I = 0 TO __(5)__<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PRINT CODE%(I), MONEY(I)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NEXT I<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<BR><BR><B>试题十一</B><BR>&nbsp;&nbsp;&nbsp; 阅读以下程序说明和 C 语言,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR><B>[程序说明]</B><BR>&nbsp;&nbsp;&nbsp; 本程序实现二分法快速检索。待检索的不同整数无序存放于文件D ATA 中。程序先</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">读入所有数据至数组 a 中,然后调用函数 binary(m,a),在数组中检索整数 m 。为了</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">能用二分法检索,必须先将数组 a 的各元素按升序(或降序)排序。如果 a 中有右元素</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">&nbsp;m ,binary 返回该数在数组 a 中的位置;否则返回 -1。本程序采用插入排序法,</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">依次将数组 a 的各元素插入至其前面已排红序(升序)的各数中的合适位置上。<BR><B>[程序]</B><BR>&nbsp; #include &lt;stdio.h&gt;<BR>&nbsp; #define MAXN100<BR>&nbsp; int n;<BR>&nbsp; int readin (int a[],int k )<BR>&nbsp; { FILE *fp ;int i,term;<BR>&nbsp;&nbsp;&nbsp; if ((fp = fopen ( "DATA", "r"))==NULL)<BR>&nbsp;&nbsp;&nbsp; { printf ( " 不能打开文件 DATA.\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (0);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; while ( i &lt; k &amp;&amp; fscanf(fp, "%d",&amp;term) != EOF);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a[i++] = term;<BR>&nbsp;&nbsp;&nbsp; fclose(fp);<BR>&nbsp;&nbsp;&nbsp; retutn i;<BR>&nbsp; }<BR>&nbsp; int binary ( int m, int a[])<BR>&nbsp; { int low , high ,mid;<BR>&nbsp;&nbsp;&nbsp; low = 0; high = n-1;<BR>&nbsp;&nbsp;&nbsp; while (low &lt;= high)<BR>&nbsp;&nbsp;&nbsp; { mid = (low + high)/2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( m &gt; a[mid] ) low = ____(1)____;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if ( m &lt; a[mid] ) high = ____(2)____;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return mid;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return -1;<BR>&nbsp; }<BR>&nbsp; vaid sort(int a[])<BR>&nbsp; { int i ,j ,t ;<BR>&nbsp;&nbsp;&nbsp; for (i = 1 ; i &lt; n; i++)<BR>&nbsp;&nbsp;&nbsp; { t = a[i]; j = i-1;<BR>&nbsp;&nbsp;&nbsp; while (____(3)____)<BR>&nbsp;&nbsp;&nbsp; { a[j+1] = a[j]; j--;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; a[j+1] = ____(4)_____;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp; }<BR>&nbsp; main ()<BR>&nbsp; { int m, p, a[MAXN];<BR>&nbsp;&nbsp;&nbsp; n = readin( a, MAXN );<BR>&nbsp;&nbsp;&nbsp; printf ( "请输入欲从数组 a 中检索的整数。 \n');<BR>&nbsp;&nbsp;&nbsp; scanf ("%d", &amp;m);<BR>&nbsp;&nbsp;&nbsp; sort(a);<BR>&nbsp;&nbsp;&nbsp; if ((p = ____(5)____ ) != -1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf ( "%d 是数组 a 的第 %d 个元素。 \n",m,p+1);<BR>&nbsp;&nbsp;&nbsp; else printf ("数组 a 中不存在整数 %d 。 \n",m);<BR>&nbsp; }<BR><BR><B>试题十二</B> 略(FoxBASE)<BR></P><P><CENTER>  </CENTER><P></P><META http-equiv=Content-Type content="text/html; charset=gb2312"><META content="MSHTML 5.50.4916.2300" name=GENERATOR><!-- #EndEditable -->       <p>&nbsp;</p>      <p align="right"><font color="#000000">【<a href="http://emailpage.activepower.net/model/send.asp?emailpage_id=10887" target="_blank">把本页推荐给朋友</a>】【<a href="javascript:window.close()">关闭窗口</a>】</font><br>      </p>      <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">        <tr>           <td width="499" height="8"></td>        </tr>      </table>      <div align="center"><br>        版权所有&copy;llamaa</div>    </td>    <td width="10" rowspan="3" valign="top">       <table width="100%" border="0" cellpadding="0" cellspacing="0">        <tr>           <td width="10" height="250"></td>        </tr>        <tr>           <td height="1"><img height="1" width="10" src="../../../spacer.gif"></td>        </tr>      </table>    </td>  </tr>  <tr>     <td height="13"></td>  </tr>  <tr>     <td height="35"></td>    <td></td>  </tr></table></body><!-- #EndTemplate --></html>

⌨️ 快捷键说明

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