高一计算题

有如下程序: 共12次
a=0
For i =1 to 2
For j=1 to 4
If j Mod 2 <> 0 then
a=a+1
End if
a=a+1
Next j
Next i
程序执行后,结果是 ___________ 。
A、9 B、10 C、12 D、6
答案是C
第四行是说要奇数
一到四里中有3个,做出来应该是4,再套个循环,应该是8
为什么答案是12,?是不是不是3个奇数啊??

第1个回答  2011-04-20
这是高一的吗?我怎么看它都是大学计算机的一个程序题啊,而且难度跟国家二级等级考试接近。这个题目中首先要从中间入手,即j=1时,1/2的余数为1,不等于0,所以a=0+1=1.在进入第二个循环,j=2,2/2的余数为0.所以a=a+1=1+1=2;在进入第三个循环,j=3,3/2的余数为1.所以a=3,再进入第四个循环,j=4.4/2的余数为0,a=3+1=4;前面的步骤仅仅是把内循环部分讲完,即从j的部分入手,它是在i=1的前提下进行,所以相当于再来循环一次,所以结果是8.这道题,我见过,估计你们老师讲错了,要为12,必须For i =1 to 3,而不是2。你们高一就这么牛讲程序,厉害啊,我大一时才学的
第2个回答  2011-04-21
这样好看点 :
a=0
For i =1 to 2
{
For j=1 to 4
{
If ( j Mod 2 <> 0 )
{ a=a+1 } // j为奇数时a加1一次 共执行4次
a=a+1 // 每次循环中都执行一次 共执行8次
}
}
最终共执行12 次加1 a==12本回答被网友采纳