下列程序运行后的输出结果为(  )。 public class Test { public static void main (String args[]) { int i,j,p,s; s=

admin2010-12-17  49

问题 下列程序运行后的输出结果为(  )。    public class Test {        public static void main (String args[]) {            int i,j,p,s;            s=0;            for (i=1;i<=4; i++) {                p=1;                for(j=1;j<=i:j++) p=p*j;                    s=s+p;            }            System.out.println(s);        }    }

选项 A、46
B、33
C、30
D、40

答案B

解析 本题考查for语句的嵌套使用。第一个for语句完成对内嵌for语句的循环控制,第二个for语句控制变量j在不大于i变量的情况下计算p=p*j。注意,每执行一次第一个for循环,p都会重新赋值为1,然后与j值相乘,直到j=i为止。事实上,第二个for循环每循环一遍,p的最终结果就是i的阶乘值,由第一个for循环决定了i的取值只能为1、2、3、4,因此最终s的值为1!+2!+3!+4!=1+2+6+24=33。故选项B为正确答案。
转载请注明原文地址:https://kaotiyun.com/show/Zd9p777K
0

最新回复(0)