题目描述
根据给出的尺寸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代码分享:
#include<stdio.h> int main() { int k; scanf("%d",&k); while(k--) { int a,i,j,g,k;scanf("%d",&a); for(i=0;i<2*a-1;i++) { if(i<a) { for(j=i,g=0;j<a-1;g++,j++) { printf(" "); } for(j=a,k=0;j>g;j--,k++) { printf("%c",j+64); } for(j=a-k+1;j<a;j++) { printf("%c",j+65); } printf("\n"); } else { for(j=a,g=0;j<=i;g++,j++) { printf(" "); } for(j=a,k=0;j>g;j--,k++) { printf("%c",j+64); } for(j=a-k+1;j<a;j++) { printf("%c",j+65); } printf("\n"); } } } }
感觉这道题还是比较容易,花了我半个晚上的时间悟出这种循环方法。重在独立思考,,加油