全部问题 > 当前问题

后面不是多了一个K=K+1吗,不应该K小于n吗

匿名课官 2016-8-17 14:04:20

共 1 个回答

初一 2016-8-17 14:21:25

后面那个K+1 是代替for循环的k++  

这个就是考察for循环和while循环的转换


题中  循环条件并没有改变

问题来自: 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。