(共15张PPT)
第14课 循环结构(二)
1
教学目的:
了解双重循环的结构及执行过程
教学重点:
利用for的双重循环结构编程输出 简单的图形
2
3
如何编程输出8个星号(*)?
方法一:printf(“********”);
方法二:int i;
for(i=1;i<=8;i++)
printf(“*”);
例1:如何输出每行8星号(*),共5行?
4
int i;
for(i=1;i<=5;i++)
{
printf(“********”);
printf(“\n”);
}
int i;
for(i=1;i<=5;i++)
{
for(j=1;j<=8;j++)
printf(“*”);
printf(“\n”);
}
********
********
********
********
********
5
1
2
3
4
5
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
int i;
for(i=1;i<=5;i++)
{
for(j=1;j<=8;j++)
printf(“*”);
printf(“\n”);
}
外循环 内循环
i 值 j 值
6
int i;
for(i=1;i<=5;i++)
{
for(j=1;j<=8;j++)
printf(“*”);
printf(“\n”);
}
外循环表示输出的行数
内循环表示每行输出的星号的个数
7
例2:试编程输出如下图形:
*
**
***
****
*****
行号 (i值) 每行*个数
(j的终值)
1 1
2 2
3 3
4 4
5 5
每行输入*的个数与行号的关系j=i
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
printf(“*”);
printf(“\n”);
}
8
例3:试编程输出如下图形:
*
***
*****
*******
*********
行号 (i值) 每行*个数
(j的终值)
1 1
2 3
3 5
4 7
5 9
每行输入*的个数与行号的关系j=2*i-1
9
例4:试编程输出如下图形:
*****
****
***
**
*
行号 (i值) 每行*个数
(j的终值)
1 5
2 4
3 3
4 2
5 1
每行输入*的个数与行号的关系j=6-i
10
********
********
********
********
********
*
**
***
****
*****
*
***
*****
*******
********
*****
****
***
**
*
小结:
j=固定值
j=i
j=2*i-1
j=固定值-i
11
探索:试编程输出如下图形:
******
******
******
******
******
#####*
####**
###***
##****
#*****
*
**
***
****
*****
12
练习
试编程输出如下图形:
*
***
*****
*******
*********
******
*******
********
*********
**********
*
***
*****
*******
*********
13
拓展:试编程输出如下图形:
*
***
*****
*******
*********
*******
*****
***
*
14
拓展:
试编程输出如下图形:
1
22
333
4444
55555
1
12
123
1234
12345
1
12
123
1234
12345
1234
123
12
1
感谢您的聆听!