TC官方合作论坛

标题: 关于流程语句的一道题的答案 [打印本页]

作者: Soeve_278    时间: 2012-10-27 15:55
标题: 关于流程语句的一道题的答案
TC教程考试题目如下:



功能  整型 继续跳出()整型 a
a=0
循环(a>=0)
a=a+1
如果(a<50)   
     继续  
否则
    a=a+2
如果结束

如果(a>100)   
   跳出   
如果结束
循环结束

返回 0
功能结束

上面继续跳出功能中,一共循环了多少次


是循环了75次,还是76次?

官网答案是75次,但是我怎么觉得应该是76次呢?

大大们,帮我算一下,给解个惑吧。





作者: saga    时间: 2012-10-27 16:02
0---49  50次 a==50时候 接着变成50=50+2=52   52----100=48/2=24+1  50+24+1=75
作者: Soeve_278    时间: 2012-10-27 16:07
回复 2楼saga的帖子

a>100 跳出循环,那么a=100的时候不是还有一次么?
作者: 超自然    时间: 2012-10-27 16:08
+2了
99过去是101,直接走人了
作者: Soeve_278    时间: 2012-10-27 16:12
回复 4楼超自然的帖子

a=0、a=a+1=1的时候是第一次1次,a=50的时候是50次,a=52的时候是51次,100-52=48/2=24次,这个时候是循环了75次吧?此时不是刚好a=100吗?99是怎么算出来的啊,没怎么搞明白呢。
作者: saga    时间: 2012-10-27 16:30
0到49 是50次吧, 第51次就是 50 那么他到52次的时候就给搞成52了 52+2X=100?==>x=24次 51+24=75次吧 100如果在加个2=? 所以当执行到75次的时候最后一个If语句判断了一下,100+2>100 所以就不再循环了 也就是说只有75次
作者: saga    时间: 2012-10-27 16:32
不管是99也好 100也好 反正在往下就超过循环条件100 所以这时候就停止循环.
作者: jimye0526    时间: 2012-10-27 16:33
代码我看不对啊
大于a>50后就每次加3啊
先加1 接着加2
怎么算都不是75 啊
作者: Soeve_278    时间: 2012-10-27 16:36
回复 6楼saga的帖子

按照你的说法 第51次的时候a=50  第52次的时候a=52,那这一次不算吗?你的说法里 这一次没有算上吧。
作者: saga    时间: 2012-10-27 16:38
飞灵 重点不是这个....
作者: Soeve_278    时间: 2012-10-27 16:41
回复 7楼saga的帖子

99+2=101 这一次是不算的 如果刚好=100 又没有>100,那这要算一次吧?难道不算?
作者: saga    时间: 2012-10-27 16:57
如果真的是100 那后面不是还有个+2么...所以你说的其实是98的时候的事情. 不过这段代码的确是有问题 哈哈. 应该是这样的:
    循环(a>=0)
       if(a<50)
          a=a+1
        else
          a=a+2
       endif
       if(a>100)
          break
       endif
    循环结束

当给a+2 或者+1后还有个判断 那就是 如果大于100就退出循环  所以一旦a变成100就停止了循环 原因是100符合第一个a=a+2条件那么久变成102 也符合第二个条件a>100 那么也就停止了循环.这个循环的作用就是给a加值 没有其他功能 跳出循环的条件判断是值变化后 不是变化前..变化前(循环一次后)的判断是判断+1呢还是+2
作者: saga    时间: 2012-10-27 17:12
官方的代码 小于50就一直是+1 后面的代码不会执行的 因为继续了 继续就是从循环开头继续下一次,所以0+x=49==>x=49 当a=49的时候循环给a+1=50这时候条件a<50不成立了 所以在一次执行50=50+2==>52  之后都是循环一次加3点 52+3X=100==>48/3=16次  a=(a=0的一次)+(第51次 就是a值=52的那一次)+49次+16=67次   看代码的时候没注意到那个继续...诱导了楼主 请见谅..
作者: Soeve_278    时间: 2012-10-27 17:17
回复 13楼saga的帖子

么事,谢谢你这么耐心哦。你的回复我采纳咯
作者: saga    时间: 2012-10-27 17:23
既然是回答那么就得负责任 不然就叫灌水了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1