使用二维数组打印如下图案

问题遇到的现象和发生背景

2.使用二维数组打印如下图案:

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

望采纳,谢谢,代码:

#include<iostream>
using namespace std;

int main() {

    char a[9][10] = {
        {'H','*','*','*','H','*','*','*','H','\n'},
        {'*','H','*','*','H','*','*','H','*','\n'},
        {'*','*','H','*','H','*','H','*','*','\n'},
        {'*','*','*','H','H','H','*','*','*','\n'},
        {'H','H','H','H','H','H','H','H','H','\n'},
        {'*','*','*','H','H','H','*','*','*','\n'},
        {'*','*','H','*','H','*','H','*','*','\n'},
        {'*','H','*','*','H','*','*','H','*','\n'},
        {'H','*','*','*','H','*','*','*','H','\n'},

    };
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 10; j++)
        {
            cout << a[i][j];
        }

    }

    return 0;
}

效果;

img

供参考:

#include<stdio.h>
int main()
{
    int i,j,n = 4;
    //scanf("%d", &n);
    for(i = 0; i < 2 * n + 1; i++)
    {
       for(j = 0; j < 2 * n + 1; j++)
           printf("%c",(i == j || j == n || j == 2 * n - i || i == n) ? 'H' : '*');
       printf("\n");
    }
    return 0;
}