📄 19982.htm
字号:
READ X, Y<BR> S = S + (FMP (FMP (X)) + FMP (Y))/ 2<BR> ELSE<BR> IF P <> 4 THEN<BR> READ Z<BR> Q = Q - Z<BR> ELSE<BR> RESTORE<BR> END IF<BR> END IF<BR> END SUB<BR> FUNCTION FMP (X)<BR> FMP = SQR (X + 1)<BR> END FUNCTION<BR> 程序执行后,输出结果为__(4)__ 。<BR><BR><B>试题二</B><BR> 阅读以下 C 语言程序,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR><B>[程序2.1]</B><BR> void u(int i,char *cp)<BR> { for ( ; i; i--)<BR> printf("%c",cp++);<BR> }<BR> main()<BR> { char a[][3] = { "eof", "ABC", "DE" };<BR> char *p;<BR> L1: p = a[0]; u(1,p++); u(1,p++); u(1,p); printf("\n");<BR> L2: p = a[1]; u(3,p++); u(2,p++); u(1,p); printf("\n");<BR> L1: printf("%s\n, a[1]");<BR> }<BR> <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> double x , u , v;<BR> double f( ), g( ), t( );<BR> main()<BR> { x = 4.0;;<BR> u = t(x,f );<BR> v = t(x,g);<BR> printf("u = %10.6f v = %10.6f\n", u , v);<BR> }<BR> double t( double a, double (*f) ( ))<BR> { return (*f) (a + a);<BR> }<BR> double f( double x)<BR> { return 3.0*x;<BR> }<BR> double g( double x)<BR> { return 3.0+x;<BR> }<BR></P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"> <B>[程序2.2]</B> 的输出为 u =__(4)__ , v =__(5)__.<BR><BR><B>试题三 </B>略(FoxBASE)<BR><BR> 从下列的 3 道试题(试题四至试题六)中任选 1 道解答。如果解答的试题数超过 1 </P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">道,则题号小的解答有效。<BR><BR><B>试题四</B><BR> 阅读以下程序说明和 BASIC 程序,将应填人__(n)__处的字句,写在答卷的对应栏<BR> 内。<BR><B>[程序说明]</B><BR> 本程序将字符串 A$ 中的所有字符子串 B$ 替换为字符串 R$。<BR><B>[程序]</B><BR> INPUT " A$= "; A$<BR> INPUT " B$= "; B$<BR> INPUT " R$= "; R$<BR> D$ = A$<BR> A$ = ""<BR> LB = LEN (B$)<BR> LD = LEN (D$)<BR> DO WHILE LD >= LB<BR> K = __(1)__<BR> PRINT " K= "; K, " LD=" ; LD<BR> IF K = 0 THEN GOTO L<BR> C$ = LEFT$( __(2)__) + R$<BR> D$ = RIGHT$(D$,LD - __(3)__)<BR> A$ = AS + C$<BR> LD = ; __(4)__. (D$)<BR> LOOP<BR> L: A$ = A$ + __(5)__<BR> PRINT" NEW STRING A$="; A$<BR> END<BR><BR><B>试题五</B><BR> 阅读以下程序说明和 C 语言,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR><B>[程序说明]</B><BR> 本程序利用牛顿切线公式计算数 a (不为 0)的立方根。根据牛顿公式,其第 n+1<BR>次近似根与第 n 次近似根满足:<BR> x<SUB>n+1</SUB> = (2x<SUB>n</SUB><SUP>3</SUP>+a)/(3x<SUB>n</SUB><SUP>2</SUP>)<BR> 要求相邻两次近似根的差的绝对值小于等于 0.00001 时停止迭代。初次近似根 x<SUB>0</SUB> 取<BR>值为 1。<BR><B>[程序]</B><BR> #include <math.h><BR> #define Epsilon ____(1)____<BR> main ()<BR> { double x , y = 1 , a ;<BR> printf(" 请输入要开方的数,a");<BR> scanf("if",___(2)___);<BR> do { ___(3)___; /*保存前次近似根*/<BR> y = ___(4)___ + a/(3*x*x); /*计算本次近似根*/<BR> } while (___(5)___ Epsilon);<BR> printf("The cubic root of %f is %10.5f\n",a,y);<BR> }<BR><BR><B>试题六</B> 略(FoxBASE)<BR><BR> 从下列的 3 道试题(试题七至试题九)中任选 1 道解答。如果解答的试题数超过 1 </P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">道,则题号小的解答有效。<BR><BR><B>试题七</B><BR> 阅读以下程序说明和 BASIC 程序,将应填人__(n)__处的字句,写在答卷的对应栏<BR>内。<BR><B>[程序说明]</B><BR> 本程序利用随机函数产生 200 个 10-500 之间(可包括 10 和 500 )的整数,并输<BR>出其中的质数个数、最大质数和最小质数。<BR><B>[程序]</B><BR> DIM A (199)<BR> FOR I = 0 TO 199<BR> A(I) = __(1)__ + 10<BR> NEXT I<BR> J=0<BR> FOR I - 0 TO 199<BR> FOR X = 2 TO INT(SQR(A(I) + 1))<BR> IF __(2)__ THEN GOTO L<BR> NEXT X<BR> __(3)__<BR> J = J + l<BR> L: NEXT I<BR> PRINT" 质数个数 ="; J<BR> IF J > 0 THEN<BR> MAXP = 10<BR> MINP- 500<BR> FOR I = 0 TO J - 1<BR> IF __(4)__ THEN MAXP = A (I)<BR> IF __(5)__ THEN MINP = A (I)<BR> NEXT I<BR> PRINT " 最大质数是 " MAXP<BR> PRINT " 最小质数是 " MINP<BR> END IF<BR> END<BR><BR><B>试题八</B><BR> 阅读以下程序说明和 C 语言,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR>[程序说明]<BR> 本程序是一函数 check(s),它检查给定字符串 s 是否满足下列两个条件:<BR> 1.从字符串首字符起,在顺序检查 s 中字符的过程中,遇到右括号 ')' 的个数在<BR>任何使均不超过所遇到的左括号 '(' 的个数。<BR> 2. 字符串 s 中左括号 '(' 的个数与右括号 ')' 的个数相同。<BR> 若字符串 s 同时满足上述条件 1 和 2 ,函数返回非 0 值,否则返回 0 值。<BR>[程序]<BR> int check(s)<BR> __(1)__;<BR> { int lp, rp;<BR> while ( ___(2)___);<BR> { if (*s == ')' ) lp++;<BR> else if ( *s == '( ' )<BR> { rp++;<BR> if ( ___(3)___ ) return 0;<BR> }<BR> ___(4)___;<BR> }<BR> return ___(5)___;<BR> }<BR><BR><B>试题九</B> 略(FoxBASE)<BR><BR> 从下列的 3 道试题(试题十至试题十二)中任选 1 道解答。如果解答的试题数超过 1 </P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">道,则题号小的解答有效。<BR><BR><B>试题十</B><BR> 阅读以下程序说明和 BASIC 程序,将应填人__(n)__处的字句,写在答卷的对应栏<BR>内。<BR><B>[程序说明]</B><BR> 本程序每次输入一个用户编码(编码为正整数)及其存款金额,然后累计同一用户的<BR>存款金额并按用户编码由小到大的顺序排列已输入的所有存款。最后输出排序后的所有用户<BR>的存款总额。<BR><B>[程序]</B><BR> DIM CODE%(1000),MONEY(1000)<BR> N = 0<BR> PRINT " 输入整数编码(-1为退出):"<BR> INPUT WCODE%<BR> DO WHILE WCODE% > 0 AND N < 1000<BR> PRINT " 输入存款额:"<BR> INPUT WMONEY<BR> I = 0<BR> DO WHILE I < N AND __(1)___<BR> I = I + 1<BR> LOOP<BR> IF __(2)__ THEN<BR> MONEY (I) = MONEY(I) + WMONEY<BR> ELSE<BR> FOR __(3)__<BR> CODE% (J) = CODE% (J - 1)<BR> MONEY (J) = MONEY (J - 1)<BR> NEXT J<BR> CODE%(J) = WCODE%<BR> MONEY(J) = WMONEY<BR> N = N + 1<BR> END IF<BR> PRINT " 输入下一个整数编码(-1为退出):"<BR> INPUT WCODE%<BR> __(4)__<BR> FOR I = 0 TO __(5)__<BR> PRINT CODE%(I), MONEY(I)<BR> NEXT I<BR> END<BR><BR><B>试题十一</B><BR> 阅读以下程序说明和 C 语言,将应填入__(n)__处的字句,写在答卷的对应栏内。<BR><B>[程序说明]</B><BR> 本程序实现二分法快速检索。待检索的不同整数无序存放于文件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"> m ,binary 返回该数在数组 a 中的位置;否则返回 -1。本程序采用插入排序法,</P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px">依次将数组 a 的各元素插入至其前面已排红序(升序)的各数中的合适位置上。<BR><B>[程序]</B><BR> #include <stdio.h><BR> #define MAXN100<BR> int n;<BR> int readin (int a[],int k )<BR> { FILE *fp ;int i,term;<BR> if ((fp = fopen ( "DATA", "r"))==NULL)<BR> { printf ( " 不能打开文件 DATA.\n");<BR> exit (0);<BR> }<BR> while ( i < k && fscanf(fp, "%d",&term) != EOF);<BR> a[i++] = term;<BR> fclose(fp);<BR> retutn i;<BR> }<BR> int binary ( int m, int a[])<BR> { int low , high ,mid;<BR> low = 0; high = n-1;<BR> while (low <= high)<BR> { mid = (low + high)/2;<BR> if ( m > a[mid] ) low = ____(1)____;<BR> else if ( m < a[mid] ) high = ____(2)____;<BR> else return mid;<BR> }<BR> return -1;<BR> }<BR> vaid sort(int a[])<BR> { int i ,j ,t ;<BR> for (i = 1 ; i < n; i++)<BR> { t = a[i]; j = i-1;<BR> while (____(3)____)<BR> { a[j+1] = a[j]; j--;<BR> }<BR> a[j+1] = ____(4)_____;<BR> }<BR> }<BR> main ()<BR> { int m, p, a[MAXN];<BR> n = readin( a, MAXN );<BR> printf ( "请输入欲从数组 a 中检索的整数。 \n');<BR> scanf ("%d", &m);<BR> sort(a);<BR> if ((p = ____(5)____ ) != -1)<BR> printf ( "%d 是数组 a 的第 %d 个元素。 \n",m,p+1);<BR> else printf ("数组 a 中不存在整数 %d 。 \n",m);<BR> }<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> </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> 版权所有©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 + -