C语言的选择题,两道。求详细过程,我都要被绕晕了
4个回答
展开全部
第一题:
首先这是一个循环套着另一个循环。现在开始运行:第一轮:j=1,先s1++变成1,然后进入小循环,因为k=j=1,所以小循环执行一次,s2++变成1,第一轮结束;第二轮:j=2,先s1++变成2,然后进入小循环,因为k<j=2,所以小循环执行两次,s2自加两次变成3,第二轮结束;第三轮,第四轮,第五轮以此类推。列个总式就是s1=0+1+1+1+1+1=5;s2=0+1+2+3+4+5=15。程序结束。
第二题:
首先这也是两个循环嵌套。现在开始运行:第一次进入大循环,x++变成1,然后进入小循环:round1:j=0,所以j%2=0,满足条件,continue,j变成1,再次执行小循环;r2:j=1,所以j%2==1!=0,所以x++变成2;r3:类似r2,x变成3,小循环此番共执行4次,三次有x++,最终x变成3. 然后进入第二次大循环,i变成1,x++变成4,进入小循环,过程同上,然后退出循环,此时x=4+3=7。 循环结束后又有一次x++,x变成8,结束。
码了好多字……求采纳~
首先这是一个循环套着另一个循环。现在开始运行:第一轮:j=1,先s1++变成1,然后进入小循环,因为k=j=1,所以小循环执行一次,s2++变成1,第一轮结束;第二轮:j=2,先s1++变成2,然后进入小循环,因为k<j=2,所以小循环执行两次,s2自加两次变成3,第二轮结束;第三轮,第四轮,第五轮以此类推。列个总式就是s1=0+1+1+1+1+1=5;s2=0+1+2+3+4+5=15。程序结束。
第二题:
首先这也是两个循环嵌套。现在开始运行:第一次进入大循环,x++变成1,然后进入小循环:round1:j=0,所以j%2=0,满足条件,continue,j变成1,再次执行小循环;r2:j=1,所以j%2==1!=0,所以x++变成2;r3:类似r2,x变成3,小循环此番共执行4次,三次有x++,最终x变成3. 然后进入第二次大循环,i变成1,x++变成4,进入小循环,过程同上,然后退出循环,此时x=4+3=7。 循环结束后又有一次x++,x变成8,结束。
码了好多字……求采纳~
追问
辛苦啦。。。
追答
…………没事(T▽T)
展开全部
1.一个是计算外循环次数5,一个是计算内循环次数1+2+3+4+5
2.
①一共执行2次外循环,每次外循环里边都要遍历内循环
②内循环全程执行每执行一次完毕的时候x+2,这是因为:
j=0,1,2,3当j是偶数的时候,执行continue就是直接进行j++下一次循环,相当于j是偶数没有实际操作;当j是奇数的时候,顺序执行x++;语句,总共两个奇数,所以执行了两次x++。
③而内循环前后都有x++语句,这里相当于x+2
④所以执行一次外循环x+4,一共执行2次外循环,所以x+8!
2.
①一共执行2次外循环,每次外循环里边都要遍历内循环
②内循环全程执行每执行一次完毕的时候x+2,这是因为:
j=0,1,2,3当j是偶数的时候,执行continue就是直接进行j++下一次循环,相当于j是偶数没有实际操作;当j是奇数的时候,顺序执行x++;语句,总共两个奇数,所以执行了两次x++。
③而内循环前后都有x++语句,这里相当于x+2
④所以执行一次外循环x+4,一共执行2次外循环,所以x+8!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一道题
第一个循环,s1=1+1+1+1+1=5 ,一共执行五次,S1=5;(这个应该很简单)
第二个循环,s2=1+2+3+4+5 (j=1时,K累加一次,J=2是,K累加2次,J=3,K累加3次,,,,j=5,K累加5次,最后把次数加起来)。
第二到题
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
if(j%2) countinue;
x++;
}
x++;
}
先看第一个X++和最后X++,都是在for(i=0;i<2;i++)范围内,i循环只想了两次,x=x+2(执行了两次) X=4;
再看J循环 if(j%2) countine ; 的意思跳过,不执行X++,知道J+1,跳过了两次,J循环总共执行4次,跳过了两次,就执行两次累加,工循环两次,所有J循环内的X=4;
所有总X=4+4=8;
这些都是简单的小程序,慢慢理解,理解一下就会了
第一个循环,s1=1+1+1+1+1=5 ,一共执行五次,S1=5;(这个应该很简单)
第二个循环,s2=1+2+3+4+5 (j=1时,K累加一次,J=2是,K累加2次,J=3,K累加3次,,,,j=5,K累加5次,最后把次数加起来)。
第二到题
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
if(j%2) countinue;
x++;
}
x++;
}
先看第一个X++和最后X++,都是在for(i=0;i<2;i++)范围内,i循环只想了两次,x=x+2(执行了两次) X=4;
再看J循环 if(j%2) countine ; 的意思跳过,不执行X++,知道J+1,跳过了两次,J循环总共执行4次,跳过了两次,就执行两次累加,工循环两次,所有J循环内的X=4;
所有总X=4+4=8;
这些都是简单的小程序,慢慢理解,理解一下就会了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于循环的问题,首先要简化循环的条件,不要手动计算。第一题外层循环是5次,内层循环是的次数是5+4+3+2+1=15次
所以s1 = 5,s2=15;
第二题i和j可以分开看,内层 j 的循环是x++2次即x=x+2;i 每循环一次不包含j的循环是x = x+2,加上j的循环就是x = x +4;i的循环是2次,因此最后x = 8
所以s1 = 5,s2=15;
第二题i和j可以分开看,内层 j 的循环是x++2次即x=x+2;i 每循环一次不包含j的循环是x = x+2,加上j的循环就是x = x +4;i的循环是2次,因此最后x = 8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询