三种循环
在线C环境:https://clin.icourse163.org/
1. for循环
阶乘
- n! = 1×2×3×4× … ×n
- 写?个程序,让?户输?n,然后计算输 出n!
- 变量:显然读?户的输?需要?个int的n,然后 计算的结果需要??个变量保存,可以 是int的factor,在计算中需要有?个变量 不断地从1递增到n,那可以是int的i
#includeenum COLOR {RED, YELLOW, GREEN, NumCOLORS}; int main() { int n; scanf("%d",&n); int fact =1; int i = 1; while(i<=n){ fact*=i; i++; } printf("%d!=%d\n",n,fact); return 0; }
for
#includeenum COLOR {RED, YELLOW, GREEN, NumCOLORS}; int main() { int n; scanf("%d",&n); int fact =1; int i; for(i=1; i<=n;i++){ fact*=i; } printf("%d!=%d\n",n,fact); return 0; }
for循环像?个计数循环:设定?个计数器,初始化 它,然后在计数器到达某值之前,重复执?循环体, ?每执??轮循环,计数器值以?定步进进?调整, ?如加1或者减1
for ( i=0; i<5; i=i+1 ) { printf("%d", i); }
for = 对于
for ( count=10; count>0; count-- )
就读成:“对于?开始的count=10,当 count>0时,重复做循环体,每?轮循环 在做完循环体内语句后,使得count--。 ”
?套路
做求和的程序时,记录结果的变量应该初 始化为0,?做求积的变量时,记录结果 的变量应该初始化为1
循环控制变量i只在循环?被使?了,在循 环外?它没有任何?处。因此,我们可以 把变量i的定义写到for语句??去
try
1×1还是1,所以程序的循环不需要从1开 始,那么改成从多少开始合适呢?这样修 改之后,程序对所有的n都正确吗?这样 的改动有价值吗?
除了可以从1乘到n来计算n!,还可以从n乘 到1来计算吧?试试把循环换个?向来计 算n。这时候,还需要循环控制变量i吗?
for循环
for ( 初始动作; 条件; 每轮的动作 ) {
}
for中的每?个表达式都是可以省略的 for (; 条件; ) == while ( 条件 )
循环次数
for ( i=0; i 则循环的次数是n,?循环结束以后,i的 Tips for loops 如果有固定次数,?for 如果必须执??次?do_while 其他情况?whil
值是n。循环的控制变量i,是选择从0开始
还是从1开始,是判断i
影响