嵌套循环(图形输出)

/*
 嵌套循环
 外层循环里面还有循环,称为嵌套循环,循环变量不能相同
 例:
 for(循环变量i;i循环条件;i让循环停止的条件){
    for(循环变量j;j循环条件;j让循环停止的条件2)
 }
 
 并列循环,不同于嵌套循环,循环变量可以相同也可以不同,互不影响,如果使用循环变量相同,那么第二个循环时变量就要初始化
 例:
 for(循环变量i;i循环条件;i让循环停止的条件){
 }
 for(循环变量j;j循环条件;j让循环停止的条件){
 }
 
 图形输出
 对于图形的分析,首先分析有多少行,再分析每行由什么组成且有什么规律,
 对于对称图片,可先输出一半,再倒过来输出另一半
 对于不规则图形,可以填补后看成规则的,再通过特殊值进行挖空即可
 
 学会通过循环变量i得到常见的序列
 for(i=1;i<=5;i++){
    (填空)
 }
 
 请问,上述填空要填什么才能得到如下序列
 【正常序列】如果要得到 1 2 3 4 5 序列,填空为: cout<<i<<" "
 【偶数序列】如果要得到 2 4 6 8 10 序列,填空为: cout<<2*i<<" "
 【奇数序列】如果要得到 1 3 5 7 9 序列,填空为: cout<<2*i-1<<" "
 【倒序序列】如果要得到 5 4 3 2 1 序列,填空为: cout<<5-i+1<<" " ,如果是n个数,则为 n-i+1
 【倒数奇数序列】如果要得到 9 7 5 3 1 序列,填空为: cout<<(5-i+1)*2-1<<" ",如果是n个数,则为 (n-i+1)*2 -1
  
 */

#include <iostream>
using namespace std;

int main() {
    int n=5,i,j;
    
    /*
     并列循环
     两个循环在同一级(层次),这时变量就可以用相同的,但要对i进行重新初始化;
     */
    for(i=1;i<=n;i++){
        cout<<"*";
    }
    cout<<endl;
    for(i=1;i<=n;i++){//注意,要对i重新初始化,不然i的值是4,那就没输出
        cout<<"*";
    }
    cout<<endl;
    cout<<endl;
    /*
     输出:
     *****
     *****
     */
    
    /*
     嵌套循环
     循环里面又有循环,注意,嵌套循环的循环变量不能相同
     外层循环,输出5行,每行输出5个字符
     */
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            cout<<"*";
        }
        cout<<endl;
    }
    /*
     输出:
     *****
     *****
     *****
     *****
     *****
     */
    
    return 0;
}