【程序说明】程序功能是求30!。
【程序】
SET TALK OFF
CLEAR
N=1
I=1
DO WHILE (1)
(2)
N=N+1
(3)
? I
SET TALK ON
(1)
A.N<>30
B.N>30
C.N<30
D.N<=30
第1题:
以下程序计算1+1/3+1/5+…+1/(2N+1),直至1/(2N+1)小于0.00001,横线处应补充的程序是( )。
A.2n
B.2n+1
C.2*n
D.2*n+1
第2题:
下列给定程序中,函数fun()的功能是:根据以下公式求n的值,并作为函数值返回。例如,给指定精度的变量eps输入 0.0005时,应当输出Pi=3.140578。
n/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9……
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <conio.h>
include <stdio.h>
include <math.h>
double fun(double eps)
{double s,t; int n=t;
s=0.0;
/*************found**************/
t=1;
/*************found**************/
while(t>eps)
{ s+=t;
t=t*n/(2*n+1);
n++;
}
/*************found**************/
return (s);
}
main()
{ double x;
printf("\nPlease enter a precision: ");
scanf("%1f",&x);
printf("\nPi=%1f\n ",fun(x));
}
第3题:
下列程序段中是死循环的是()
A.int n=1; while(!n) n++;
B.int n=1; do{n--;} while(n);
C.int n=1; do{ n+1; } while(n)
D.for(n=5;n<1;) ;
第4题:
以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到s>;1000为止。
程序运行后,不能得到正确结果,以下修改方案正确的是( )。
A.把while(s>lOOO);改为while(s<=1000);
B.把s=1;改为s=0;
C.把n=1;改为n=0;
D.把n=n+1;改为n=n$n;
第5题:
【程序说明】 程序功能是用两种循环步长值来求1+2+3+…+50的值。
【程序一】
S=0
FOR (5)
(6)
ENDFOR
? S
RETURN
【程序二】
S=0
FOR (7)
S=S+N
ENDFOR
(8)
RETURN
(5)
A.N=50 TO 1
B.N=1 TO 50 STEP-1
C.N=1 TO 50
D.S=1 TO 50