字符矩阵怎么写帮帮忙呀

img


#include <stdio.h>
int main() {
 char s[2];
 int c,y,x,ya,xa,minyaxa;
 while (1) {
  scanf("%1s",s);
  c=s[0];
  if (c=='#') break;
  c=c-'A';
  for (y=-c;y<=c;y++) {
   for (x=-c;x<=c;x++) {
    xa=x; if (xa<0) xa=-xa;
    ya=y; if (ya<0) ya=-ya;
    minyaxa=xa; if (minyaxa>ya) minyaxa=ya;
    printf("%c",c-minyaxa+'A');
   }
   printf("\n");
  }
 }
 return 0;
}

供参考:

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