错位
#include<stdio.h>
void main()
{int n;
char ch,letter;
letter='A';
printf("input a char");
scanf("%c",&ch);
n=ch-65;
for(int i=0;i<=n;i++)
{for(int j=1;j<2*n+2;j++)
{if(j==(2*n+3)/2)
printf("%c",'A'+i);
for(int x=1;x<=i;x++)
{if(i!=0&&(j==(2*n+3)/2-x||j==(2*n+3)/2+x))
printf("%c",'A'+i-x);
else printf(" ");}}
printf("\n");}}
多了
#include<stdio.h>
void main()
{int n;
char ch,letter;
letter='A';
printf("input a char");
scanf("%c",&ch);
n=ch-65;
for(int i=0;i<=n;i++)
{for(int j=1;j<2*n+2;j++)
{if(j==(2*n+3)/2)
printf("%c",'A'+i);
for(int x=1;x<=n;x++)
{if(i!=0&&(j==(2*n+3)/2-x||j==(2*n+3)/2+x))
printf("%c",'A'+i-x);
else printf(" ");}}
printf("\n");}}
对了
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int n,i,j,x;
char ch,letter,mid;
letter='A';
printf("input a char : ");
scanf("%c",&ch);
n=ch-'A'+1;
/*
C
3 lines
00A00
0ABA0
ABCBA
for 3 = C-A(n) +1
1 m =2 c = A(1) d=0
2 m =1 c = AB(2) d=A(1)
3 m =0 c = ABC(3) d=BA(2)
*/
for(i=1;i<=n;i++){
mid = 'A'+ i -1;
for(j=1;j<=2*n-1;j++){
if(j<=n ) /*LEFT*/
{
ch = mid - (n-j);
if(ch>='A')
printf("%c",ch);
else
printf(" ");
}
if(j>n ) /*LEFT*/
{
ch = mid - (j-n);
if(ch>='A')
printf("%c",ch);
else
printf(" ");
}
}
printf("\n");
}
}