TC官方合作论坛

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

[已解决] 如何用循环达到这个效果?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-26 20:12:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
1+2+3+4+5+……+100 =?

功能 开始_点击()
a=0
b=100-a
c=(a+b)*50+50  //a+b=a+100-a ;
辅助.消息框(c)
功能结束

0+100;1+99。。。加上0就是有101个数,到50的时候正好组合50次;还余一个50……

这是用最直接的规律写的……

用遍历该如何写?  思路我已经有了……
a=0;
b=a+1
c=a+b;
当a>100时遍历结束。

尝试了好久。。都没能成功- -#
回复

使用道具 举报

地板
发表于 2013-8-26 21:00:48 | 只看该作者
    c=0
    遍历(a=0;a<50;a++)
        b=100-a
        c=c+a+b
    遍历结束
   辅助.消息框(c)
回复 支持 反对

使用道具 举报

沙发
发表于 2013-8-26 20:19:27 | 只看该作者
变量 a = 0,结果
循环(a < 100)
a++
结果=结果+a
循环结束
辅助.信息框(“0-100的数:”&结果)




这样写可以不?
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2013-8-26 20:30:09 | 只看该作者
回复 2楼q765758576的帖子

你这个代码形式我也尝试过。循环外调用不出来  变量 结果。。。。
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2013-8-26 21:13:30 | 只看该作者
回复 4楼qq06314488的帖子

这样的话……你看看结果;  遍历结束 得出的C是5000. 而真正的结果是5050。。。。

在进入遍历前 C的值为50就解决了- -#

我先去研究研究。。。为什么遍历外面消息框显示的C不是50呢?
回复 支持 反对

使用道具 举报

6#
发表于 2013-8-26 21:28:39 | 只看该作者
回复 5楼77721241的帖子

你自己都说了,最后就预留一个50,所以我以为最后直接c+50不就好了,我只不过是按你的写法去写的
如果是想最后获得5050,那么直接101*50就OK了
1+100=101,2+99=101,重复50次,你懂的
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2013-8-26 23:37:16 | 只看该作者
回复 6楼qq06314488的帖子

已经搞明白了。。最后遍历结束;C的值已经变为5050了。

     我想问一下;为什么C这个变量在遍历里面的话;在遍历结束之后辅助.消息框(c)那个C报错呢
回复 支持 反对

使用道具 举报

8#
发表于 2013-8-27 00:05:24 | 只看该作者
回复 7楼77721241的帖子

变量是有作用域的
回复 支持 反对

使用道具 举报

9#
发表于 2013-8-27 03:13:52 | 只看该作者
  1. 功能 开始_点击()
  2. m=0
  3. for(i=1;i<101;i++)
  4. m=m+i
  5. endfor
  6. help.messagebox(m)
  7. 功能结束
复制代码

回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2013-8-27 03:50:07 | 只看该作者
回复 8楼qq06314488的帖子

如果不在 循环体外 声明的话;那么循环体里面的变量就是 局部变量了把。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-2 15:20 , Processed in 0.267072 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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