执行以下的循环后输出的值为( )。 public class Sun { public static void main (String args[ ]) { int m=1000, s=0,

admin2010-07-28  30

问题 执行以下的循环后输出的值为(    )。        public class Sun    {      public static void main (String args[ ])      {          int m=1000, s=0, n=0;          do{                  n=n+l;                  s=s+(int)Math.pow(2,n);          }while (s<=m);          System.out.println("n="+n+","+"s="+s);      }    }

选项 A、n=9, s=1000
B、n=8, s=1022
C、n=9, s=1022
D、n=8, s=1000

答案4

解析 本题考查对do-while循环的理解。本题完成的功能是求当20+21+22+...+2n最少需要多少项时才能满足大于数值m。 m=1000,当程序运行到第8次时,循环测试条件仍然为真,所以继续执行1次,当执行到第 9次时,s的值已经超过了1000。故本题答案是C。
转载请注明原文地址:https://kaotiyun.com/show/oR9p777K
0

最新回复(0)