赞
踩
给定N,输出一个N*N的矩阵,矩阵为N层,每层是一个字符,从A到Z。 比如说N=3,矩阵为
CCCCC CBBBC CBABC CBBBC CCCCC
第一行是一个整数K(K≤50),表示样例数。 每个样例占1行,为一个整数N(1≤N≤26)。
每个样例输出对应的矩阵,行尾没有多余的空格。
3 1 2 3
A BBB BAB BBB CCCCC CBBBC CBABC CBBBC CCCCC
- #include<stdio.h>
- int Max(int a,int b){
- if(a>b)return a;
- else return b;
- }
- int Min(int a,int b){
- if(a>b)return b;
- else return a;
- }
- int main(){
- int K;
- scanf("%d",&K);
- while(K--){
- int n;
- scanf("%d",&n);
- int i,j,k;
- char a[200][200]={};
- int max,min;
- for(i=1;i<2*n;i++){
- for(j=1;j<2*n;j++){
- max=Max(i,j);
- min=Min(i,j);
- for(k=0;k<=2*n-2*min;k++){
- if(min<n){
- a[min][min+k]='A'+n-min;
- a[min+k][min]='A'+n-min;
- }
- if(max>=n){
- a[max][max-k]='A'+max-n;
- a[max-k][max]='A'+max-n;
- }
- }
- }
- }
- for(i=1;i<2*n;i++){
- for(j=1;j<2*n;j++){
- printf("%c",a[i][j]);
- }
- printf("\n");
- }
- }
- }
找规律找规律找规律
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。