该题解题思路是什么?



打印字符金字塔
         A
        ABA
       ABCBA
      ABCDCBA
     ABCDEDCBA

能不能详细的讲解下,谢谢了

#include<stdio.h>

int main()
{
    int n=5;
    for(int i=0; i<n; i++)
    {
        for(int k=0; k<n-i; k++)
            printf(" ");
        for(int k=0; k<i+1; k++)
            printf("%c",'A'+k);
        for(int k=i+1; k<i*2+1; k++)
            printf("%c",'A'+i-(k-i));
        printf("\n");
    }
    return 0;
}

供参考:

#include<stdio.h>
int main()
{
    int i, j, n;
    char ch;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 1; j < n - i; j++)
        {
            printf(" ");
        }
        for (ch = 'A'; ch < 'A' + i + 1; ch++)
        {
            printf("%c", ch);
        }
        for (ch = 'A' + i - 1; ch > 'A' - 1; ch--)
        {
            printf("%c", ch);
        }
        printf("\n");
    }
    return 0;
}