执行以下程序时,为了使输出结果为:t=4,则给i和j输入的值应该满足的条件是( )。 #include<stdio.h> main() { int s,t,ij; scanf("&d,&d",&i,&j);

admin2013-08-15  23

问题 执行以下程序时,为了使输出结果为:t=4,则给i和j输入的值应该满足的条件是(    )。
    #include<stdio.h>
    main()
     {  int s,t,ij;
        scanf("&d,&d",&i,&j);
        s=1,t=1;
        if(i>0)
          s=s+1;
        if(i>j)
          t=s+t:
        else if(i==j)
          t=-5;
       eles t=2*s:
    printf("t=%d\n",t);
    }

选项 A、i>j
B、0<i<j
C、i<j<0
D、0>i>j

答案B

解析 本题考查if-else的嵌套应用。求解本题可以将上述4个条件逐个代入到程序中,最后看哪个满足题目要求。只有当j>i>0,程序顺序执行时,才能输出结果t=4。具体分析如下:当i>i>0,s=1,t=1时,i>0逻辑值为真,故执行if(i>0)s=s+1;语句后,s=s+1=1+1=2。由于if(i>j)条件为假,else if(i==j)的条件仍为假,故程序将执行语句else t=2*s;,此时t=2*s=2*2=4。故选项B)正确。同理可求得,A)、C)和D)都不满足条件。故本题的答案为B)。
转载请注明原文地址:https://kaotiyun.com/show/LMJp777K
0

最新回复(0)