#P1009. for 循环结构 - 1 到 n 的累加
for 循环结构 - 1 到 n 的累加
学习目标:90秒内 一气呵成 打完代码,并且运行正确,并且提交正确。
题目描述
输入整数 ,求 的和,即 ,输出 的值。
输入格式
一行,一个整数 。
输出格式
一行,输出s。
4
10
100
5050
数据规模与约定
所有数据都在int范围内。
提示
【程序结构】
for(初始值;满足循环的条件;一次循环结束后做点什么) { 循环内部做什么 }
【帮助记忆】
1、for() 注意 ')' 后面没有分号
2、for(;;) 括号里面两个分号(把括号里面的空间分成三个部分,所以需要我们填代码填三个空。)
因为大家第一次接触 ,所以给大家讲个故事以及展示下代码吧
故事:小明背着空竹筐上山采蘑菇
突然发现前面一条笔直的路上,整齐的排着一排大树,样子如下:
小明->大树1号->大树2号->大树3号->……
突然,有个声音响起:大树底下有蘑菇哦,大树1号有1个蘑菇,大树2号有2个蘑菇,大树3号有3个蘑菇……
问:小明从大树1号 走到 大树 号 总共可以采到多少个蘑菇?
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
,表示 等于1,可以这样理解:小明来到了第一棵大树(这部分的代码只执行一次)
(2):i<=n
,表示 小于等于 ,可以这样理解:小明现在到了哪棵大树,如果超出 ,则不能采蘑菇,回家了(这部分代码执行 次(实际上是 次,最后一次失败也算),每次小明来到一棵大树都要问一遍自己,这棵大树的编号是否小于等于 ,如果是,小明就采蘑菇,如果不是,小明就不能采蘑菇并且回家(退出循环)
(3):i++
,实际上就是 i=i+1
,表示 增加1,可以这样理解:小明采完第 棵大树的蘑菇,正走在 第 棵大树和 第 棵大树 之间的 路上。
2:s=s+i;
表示 小明 把 个蘑菇丢进竹筐里面
3:printf("%d",s);
就是输出小明大竹筐里面的蘑菇数目啦
【要求】
1:会默打,并且多次运行都能输出正确结果。
2:要理解 for
括号里面的三个部分是干什么用的。