Problem1008--[视频]循环结构(for)1

1008: [视频]循环结构(for)1

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 228  Solved: 120
[Status] [Submit] [Creator:]

Description

学习目标:90秒内 一气呵成 打完代码,并且运行正确,并且提交正确。

【题意】

  输入整数n,求1+2+…+n的和,即s=1+2+3+4+…+n,输出s的值。
【输入格式】
  输入整数n。
【输出格式】
  输出s。
【样例1输入】
  4
【样例1输出】
  10
【样例2输入】
  100
【样例2输出】
  5050



【程序结构】

  for( 初始值;满足循环的条件;一次循环结束后做点什么)
  {
       循环内部做什么
  }

【帮助记忆】 

  1、for(          )    注意 )后面没有分号

  2、for(      ;        ;         )   括号里面两个分号(把括号里面的空间分成三个部分,所以需要我们填代码填三个空。

  看在大家第一次接触for,给大家讲个故事和展示的代码把~~~

  故事:小明背着空竹筐上山采蘑菇(唱着歌曲:采蘑菇的小男孩背着一个大竹筐,清晨光着小脚丫走遍……)

  突然!发现前面一条笔直的路上,整齐的排着一排大树,样子如下:

  小明——>    -------大树1号---------大树2号---------大树3号---------………

  突然,有个声音响起:大树底下有蘑菇哦,大树1号有1个蘑菇,大树2号有2个蘑菇,大树3号有3个蘑菇……………………

  问:小明从  大树1号 走到 大树n号 总共可以采到多少个蘑菇?

  int i,s,n;    // n表示最后一棵大树是n号, s表示小明背的大竹筐 ,i表示当前小明走到第几号大树
    scanf("%d",&n);
    s=0;//一开始小明的大竹筐是空的,没有蘑菇,所以赋值为0
    for(   i=1  ;   i<=n  ;  i++   )    
    {
        s=s+i;

    }

【解释代码】

  1: for(   i=1  ;   i<=n  ;  i++   )    

  (1):i=1,表示i等于1,可以这样理解:小明来到了第一棵大树(这部分的代码只执行一次)

  (2):i<=n,表示i小于等于n,可以这样理解:小明现在到了哪棵大树,如果超出n,则不能采蘑菇,回家了(这部分代码执行n次(实际上是n+1次,最后一次失败也算),每次小明来到一棵大树都要问一遍自己,这棵大树的编号是否小于等于n,如果是,小明就采蘑菇,如果不是,小明就不能采蘑菇并且回家(退出循环)

  (3):i++,实际上就是i=i+1,表示i增加1,可以这样理解:小明采完第i棵大树的蘑菇,正走在 第i棵大树  和 第i+1棵大树 之间的 路上。

   2:s=s+i;  表示 小明 把i个蘑菇丢进竹筐里面

   3:printf("%d",s); 就是输出小明大竹筐里面的蘑菇数目啦 

【要求】

  1:会默打,并且多次运行都能输出正确结果。

  2:要理解for括号里面的三个部分是干什么用的。


Source/Category