循环嵌套
循环有for、while、do…while 3种方式,这3种方式可以相互嵌套。
在for循环中嵌套for循环:
for(...)
{
for(...)
{
...
}
}
在while循环中嵌套for循环:
while(...)
{
for(...)
{
...
}
}
练习1
打印金字塔形状。
使用嵌套的for循环输出由字符“”组成的5层金字塔形状。第1层有一个“”,第2层有两个“”……第5层有5个“”。具体代码如下:
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
for(i=1;i<=5;i++) //外层for循环,i控制行数(层数)
{
for(j=1;j<=5-i;j++) //内层for循环,j控制空格数
cout<<" ";
for(k=1;k<=2*i-1;k++) //内层for循环,k控制"*"的数量
cout<<"*";
cout<<endl;
}
}
*
***
*****
*******
*********
程序中,最外层的for循环控制输出的行数,内层的第一个for循环控制字符“”前的空格数,第二个for循环控制输出字符“”的个数。内层第一个循环中,随着行数的增加,字符“”前的空格数越来越少。内层第二个for循环中,输出和行号有关的奇数个字符“”。
程序运行结果如图所示。
输出乘法口诀表。
使用嵌套的for循环输出乘法口诀表。具体代码如下:
//乘法口诀表
#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i+1;j++)
cout<<i<<"*"<<j<<"="<<i*j<<" ";
cout<<endl;
}
}
1*1=1 1*2=2
2*1=2 2*2=4 2*3=6
3*1=3 3*2=6 3*3=9 3*4=12
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 9*10=90
“编程思维”在实际开发中的重要性。编程思维的核心,不是选择哪种开发语言,也不是具体的语法规范,甚至不是算法或数据结构本身,而是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法上,然后才能根据算法编写程序进行实现。
编程思维反映出两种核心能力,一是算法设计能力,二是代码实现能力。
是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法上,然后才能根据算法编写程序进行实现。
编程思维反映出两种核心能力,一是算法设计能力,二是代码实现能力。
要想形成自己的编程思维,就需要多思考,多琢磨,多读优秀的源代码,同时进行大量的练习,使自己逐渐能站在计算机的角度去思考问题。