TC官方合作论坛

 找回密码
 立即注册
查看: 1294|回复: 14
打印 上一主题 下一主题

[已解决] 关于流程语句的一道题的答案

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-27 15:55:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
TC教程考试题目如下:



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

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

返回 0
功能结束

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


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

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

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




回复

使用道具 举报

13#
发表于 2012-10-27 17:12:23 | 只看该作者
官方的代码 小于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次   看代码的时候没注意到那个继续...诱导了楼主 请见谅..
回复 支持 反对

使用道具 举报

15#
发表于 2012-10-27 17:23:45 | 只看该作者
既然是回答那么就得负责任 不然就叫灌水了
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2012-10-27 17:17:43 | 只看该作者
回复 13楼saga的帖子

么事,谢谢你这么耐心哦。你的回复我采纳咯
回复 支持 反对

使用道具 举报

12#
发表于 2012-10-27 16:57:32 | 只看该作者
如果真的是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
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2012-10-27 16:41:45 | 只看该作者
回复 7楼saga的帖子

99+2=101 这一次是不算的 如果刚好=100 又没有>100,那这要算一次吧?难道不算?
回复 支持 反对

使用道具 举报

10#
发表于 2012-10-27 16:38:04 | 只看该作者
飞灵 重点不是这个....
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2012-10-27 16:36:50 | 只看该作者
回复 6楼saga的帖子

按照你的说法 第51次的时候a=50  第52次的时候a=52,那这一次不算吗?你的说法里 这一次没有算上吧。
回复 支持 反对

使用道具 举报

8#
发表于 2012-10-27 16:33:52 | 只看该作者
代码我看不对啊
大于a>50后就每次加3啊
先加1 接着加2
怎么算都不是75 啊
回复 支持 反对

使用道具 举报

7#
发表于 2012-10-27 16:32:01 | 只看该作者
不管是99也好 100也好 反正在往下就超过循环条件100 所以这时候就停止循环.
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-12-24 09:42 , Processed in 0.100068 second(s), 25 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表