慕粉0005048332
2016-11-27 14:50
循环结构之多重循环
在功能需求上,往往一个循环满足不了,比如:循环用一个“*”输出,得到一下图形
上面这个例子显然我们用一个循环不是太容易实现,这个时候我们就要用到多重循环,多重循环就是在循环结构的循环体中又出现循环结构。
在实际开发中一般最多用到三层重循环。因为循环层数越多,运行时间越长,程序越复杂,所以一般用2-3层多重循环就可以了。另外不同循环之间也是可以嵌套的。
多重循环在执行的过程中,外层循环为父循环,内层循环为子循环,父循环一次,子循环需要全部执行完,直到跳出循环。父循环再进入下一次,子循环继续执行...
注:一个父循环可以有多个子循环
那么上面这个用“*”输出的矩形用多重循环实现如下:
任务
使用双重循环实现输出正三角形,效果如下
在代码编辑器中:
第8、13行根据注释提示补全所有代码
hello.c
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( ? ; ? ; ? )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( ? ; ? ; ? )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
本课程编程练习请使用电脑登录 www.imooc.com
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1;i<5;i++)
{
/* 观察每行的空格数量,补全循环条件 */
for(j=1;j<5-i;j++)
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for(k=1;k<=2*i-1;k++)
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
hello.c
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( j; j<4-i ; j++ )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=0 ; k<=2*k-1 ; k++)
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
C语言入门
926020 学习 · 20793 问题
相似问题