全部问题 > 当前问题

但是每次计算时,k都加1 了啊?

尚旭娜 2016-9-7 21:04:45

共 2 个回答

qqq 2016-9-7 22:48:04

s=s+1.0/(k*(k+1));你是说这一句里的k+1么?这里面的k+1并不会影响k的值,之后后面k=k+1才会。

尚旭娜 2016-9-21 21:12:57

回复 qqq:k++    的k

问题来自: while循环和do循环
有以下程序段:       
s=1.0;
for(k=1;k<=n;k++) s=s+1.0/(k*(k+1));
printf("%f\n",s);
请填空,使以下程序段的功能与上面的程序段完全相同。
s=1.0;k=1;
while( __【9】__ )
{ s=s+1.0/(k*(k+1)); k=k+1; }
printf("%f\n",s); 。
A. k<=n
B. k<n
C. k++<=n
D. k++<n
答案:A
解析:第一段程序的功能是,k从1到n循环,每次循环中对s进行赋值。由于第二段程序中初始化、自增都写好了,所以答案应该就是第一段程序中for循环里面的循环条件。因此结果是k&lt;=n。