Created
May 30, 2024 11:00 AM
Tags
已知有数组定义:
int MyArray[]={10,20,30,40,50,60,70,80,90,100}
,则以下 程序段:int s = 0 ;
for(int i=0;i<MyArray.length ;i++) {
if(i%2==1) s =s+ MyArray [i] ;
}
System.out.println(s) ;
执行后 s 的值是:
A.200
B.250
C.350
D.300
答案及解析:
首先,我们来分析程序段的逻辑:
int MyArray[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
定义了一个整型数组MyArray
,包含10个元素。
int s = 0;
初始化一个整型变量s
,其值为0。
for (int i = 0; i < MyArray.length; i++)
定义了一个循环,从索引0开始,直到数组的长度(即10)。
if (i % 2 == 1) s = s + MyArray[i];
在循环体内,当索引i
是奇数时,将对应索引的数组元素值加到变量s
上。
System.out.println(s);
输出变量s
的最终值。
现在,我们来计算
s
的值:- 当
i = 0
时,i % 2 == 0
,不满足条件,s
保持为0。
- 当
i = 1
时,i % 2 == 1
,满足条件,s = 0 + MyArray[1] = 0 + 20 = 20
。
- 当
i = 2
时,i % 2 == 0
,不满足条件,s
保持为20。
- 当
i = 3
时,i % 2 == 1
,满足条件,s = 20 + MyArray[3] = 20 + 40 = 60
。
- 当
i = 4
时,i % 2 == 0
,不满足条件,s
保持为60。
- 当
i = 5
时,i % 2 == 1
,满足条件,s = 60 + MyArray[5] = 60 + 60 = 120
。
- 当
i = 6
时,i % 2 == 0
,不满足条件,s
保持为120。
- 当
i = 7
时,i % 2 == 1
,满足条件,s = 120 + MyArray[7] = 120 + 80 = 200
。
- 当
i = 8
时,i % 2 == 0
,不满足条件,s
保持为200。
- 当
i = 9
时,i % 2 == 1
,满足条件,s = 200 + MyArray[9] = 200 + 100 = 300
。
因此,执行后
s
的值是300。正确答案是:
D. 300