问题 问答题

fclose (fp);

答案

参考答案:jsValue( )
{ int a1=1,a2=1,n=1,an;
int sum0,sum;
sum0=a1+a2;
while(1)
{ an=a1+a2*2; /*求下一个级数*/
sum=sum0+an; /*求级数和*/
a1=a2; /*将a2赋给a1*/
a2=an; /*将an赋给a2*/
n++;
if(sum0<100 && sum>=100) /*如果满足Sn<100且sn+1=100*/
b[0]=n; /*则将n存入数组单元b[0]中*/
if(sum0<1000 && sum>=1000) /*如果满足Sn<1000且Sn+l>=1000*/
b[1]=n; /*则将n存入数组单元b[1]中*/
if(sum0<10000 && sum>=10000) /*如果满足Sn<10000且sn+1>=10000*/
{ b[2]=n; /*则将n存入数组单元b[2]中*/
break; /*并强行退出循环*/
}
sum0=sum; /*将sum赋给sum0,为下一次循环的求和作准备*/
}
}

解析: 本题考查的知识点如下:
(1)利用循环和判断求级数。
(2)循环的强行退出。
(3)多个条件的“与”运算。
由级数的表达式可以看出,级数中的各项可以由循环依次求得。当级数的和达到要求的条件时就可以退出循环结构。因为退出循环的两个条件Sn<M,Sn+1≥M要同时满足,所以两条件之间要用到“与”运算。这里使用break退出整个循环结构。

选择题
单项选择题