#P1009. for 循环结构 - 1 到 n 的累加

for 循环结构 - 1 到 n 的累加

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

题目描述

输入整数 nn,求 1+2++n1+2+…+n 的和,即 s=1+2+3+4++ns = 1+2+3+4+…+n,输出 ss 的值。

输入格式

一行,一个整数 nn

输出格式

一行,输出s。

4
10
100
5050

数据规模与约定

所有数据都在int范围内。

提示

【程序结构】

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

【帮助记忆】

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

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

因为大家第一次接触 for\texttt{for},所以给大家讲个故事以及展示下代码吧

故事:小明背着空竹筐上山采蘑菇

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

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

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

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

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,表示 ii 等于1,可以这样理解:小明来到了第一棵大树(这部分的代码只执行一次)

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

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

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

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

【要求】

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

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