课程首页 › 第3部分 › 第44课
第44课 分成两队
分成两队(for循环、if语句、累加)

使用for进行累加计算会更便捷,尝试使用for循环计算出从1一直累加到2023的总和吧。
温故知新
自己试一试吧!

运行程序:
注意
变量赋值sum=0可不能放在for循环体内,否则每次循环开始sum又会变成0,之前的加法运算就浪费了。
敲黑板
循环变量i大有用处。在这个程序中,i既充当了计数条件,又充当了程序的加数,因此在设置i时需要同时考虑这两个角色的作用。
如果循环变量i只用作计数条件,则只需要考虑次数。
只用作计数条件
例如:输出“我爱C++”5遍。
(1)i初始值为0,条件是i<5,i++,i一次加1循环数字0,1,2,3,4,一共计数5次。

(2)i初始值为1,条件是i<=5,i++,i一次加1循环数字1,2,3,4,5,一共计数5次。

(3)i初始值为10,条件是i>0,i-2,i一次减2循环数字10,8,6,4,2,一共计数5次。

分成两队
18名小精灵列队出发,奇数编号站一队,偶数编号站一队,就像下面这样:
能用程序帮帮它们吗?
(1)循环变量i既需要作为编号输出,又需要作为循环计数。因此设置i的初始值为1,循环条件是i小于或等于18,i逐一增加,一共循环18次。
(2)配合if语句,如果是奇数编号,后面接一个空格:
if(i % 2 !=0){
cout<<setw(2)<<i<<"";}
如果是偶数编号,则换一行输出:
else{
cout<<setw(?2)<<i<<endl;}

巩固练习
(1)下面哪一种for循环的语法是正确的?()
A.for(int i=0; i<=5; i++)B.for(i=0; i<=5; i++);
C.for(i=0; i<=5)
D.for(int i=0; i++)
(2)完善以下代码,使用for循环语句输出100、99、98、…、2、1、0。

(3)如果想将18名小精灵分成3队,排列成以下这样:
你可以使用类似的for循环来实现这个排列吗?