有以下程序段,且变量已正确定义和赋值。 for(s=1.0, k=1; k<=n;k++) s=s+1.0/(k*(k/1)); printf("s=%f\n\",s); 请填空,使下面程序段的功能与之完全相同。

admin2009-01-15  26

问题 有以下程序段,且变量已正确定义和赋值。
        for(s=1.0, k=1; k<=n;k++)  s=s+1.0/(k*(k/1));
        printf("s=%f\n\",s);
    请填空,使下面程序段的功能与之完全相同。
        s=1.0; k=1;
        while(【  】)  {  s=s+1.0/(k*(k+1));【  】;  }
        printf("s-=%f\n\n",s);

选项

答案k<=n 或 n>=k k++

解析 while语句和for语句的作用都是循环控制语句的执行,两者之间是可以互相转换的。将while(EXP)转换为for语句可以写成for(;EXP;);将 for(EXP1;EXP2;EXP3)转换为while语句可以写成:EXP1;while(EXP2){... EXP3;}。故本题的两个空分别应填写for语句的第2和第3个表达式。即k<=n或n>=k和k++。当然也可写成与之等价的其他形式。
转载请注明原文地址:https://jikaoti.com/ti/2gK0FFFM
0

最新回复(0)