s=1.0;for(k=1;k<=n;k++)%20s=s+1.0/(k*(k+1));printf("%f\n",s);����һ��ʼûn����ô�ж�k<=n��
s=1.0;//与第二程序段的s=1.0同作用
for(k=1;k<=n;k++)//里面的k=1与第二段的k=1同作用,里面的k<=n是for的循环条件,和第二个while的循环条件应该是一样的,所以应该填写k<=n;
s=s+1.0/(k*(k+1));//for循环的循环体和while的循环体一样,k=k+1这个语句与第一个for第二个分号后面的k++是一个作用;
printf("%f\n",s);//这个就不用说了吧,两个程序段都是一样的;
能理解么?
有以下程序段:
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<=n。