根据给出的尺寸n输出一个字符钻石,比如n=3时,字符钻石为
C CBC CBABC CBC C输入
第一行是整数K,表示样例的个数。
以后每行一个样例,为钻石的尺寸,n(1≤n≤26)
依次输出每个样例的结果,每个样例的行末无空格,行首无多余的空格。
样例输入3 1 2 3样例输出
A B BAB B C CBC CBABC CBC C
代码如下:
#includeint main() { int N; scanf("%d",&N); while(N--) { int i,j,n,m; scanf("%d",&n); for(i=1;i<=n;i++)//打印空格 { for(j=1;j<=n-i;j++) { printf(" "); } //for(i=1;i<=n;i++)//控制行数 m=n; for(j=1;j<=(2*i-1)/2+1;j++)//到中间数停止 { printf("%c",m+65-1); m--; } for(j=1;j<=i-1;j++)//打印中间数后面的字母 { printf("%c",m+2+65-1);//m+2难理解 m++; } printf("n"); } for(i=n-1;i>=1;i--) { for(j=1;j<=n-i;j++)//空格数 { printf(" "); } m=n; for(j=1;j<=i;j++) { printf("%c",m+65-1);//后面有许多数量关系要自己去找 m--; } for(j=1;j<=i-1;j++) { printf("%c",m+2+65-1); m++; } printf("n"); } } }



