问题
填空题
有以下程序段,且变量已正确定义和赋值。
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下面程序段的功能与之完全相同
s=1.0;k=1;
while(______)s=s+1.0/(k*(k+1));k++;
printf("s=%f\n\n" ,s);
答案
参考答案:k<=n
解析: 本题要求将一个for循环改成while循环。首先要保证循环条件相同即k<=n。,在for循环中,每次执行循环之后,循环控制变量k都会加1,而while循环则没有,故需在循环体中增加改变k数值的语句“k++;”。