深入理解嵌套循环
/*
循环本质是执行多少次,比如说循环1~n,本质上执行n次循环体
*/
#include <iostream>
using namespace std;
int main() {
int n=3,i,j;
// 例一:并列循环,循环变量可以相同
for(i=1;i<=n;i++){
cout<<i;
}
cout<<endl;
for(i=1;i<=n;i++){
cout<<i;
}
cout<<endl;
/*
输出:
123
123
*/
// 例二:嵌套循环,内层循环变量不能使用外层循环变量,这样会导致修改外层循环变量的值,达不到期望的结果
for(i=1;i<=n;i++){
for(i=1;i<=n;i++){
cout<<i;
}
cout<<endl;
}
cout<<endl;
/*
输出:
123
*/
// 例二修改:输出i的值,外内层要使用不同的循环变量,这里用了 i,j。
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cout<<i;
}
cout<<endl;
}
cout<<endl;
/*
输出:
111
222
333
*/
// 例三:嵌套循环,输出j的值
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cout<<j;
}
cout<<endl;
}
cout<<endl;
/*
输出:
111
222
333
*/
// 例四:嵌套循环,内层循环次与i有关
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){ //每行只要循环i次
cout<<j;
}
cout<<endl;
}
cout<<endl;
/*
输出:
1
12
123
*/
// 例五:嵌套循环,内层循环输出与i和j都有关系
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
cout<<i*j;
}
cout<<endl;
}
cout<<endl;
/*
输出:
1
24
369
*/
return 0;
}