
代码实现:
#include <cstdio>
int main(){
int n;
char inner,outer;
bool flag = true;
while(scanf("%d %c %c",&n,&inner,&outer)!=EOF){
if(flag == true){
flag = false;
}else{
printf("\n");
}
char pattern[80][80] = {0};
int length;
int x,y;
char curChar = inner;
for(length = 1,x=n/2,y=n/2;length <= n;length= length+2,--x,--y){
for(int i=x,j=y;i< x+length;++ i){
pattern[i][j]=curChar;
}
for(int i=x,j=y;j< x+length;++j){
pattern[i][j]=curChar;
}
for(int i=x+length-1,j=y;j<y+length;++j){
pattern[i][j]=curChar;
}
for(int i=x,j=y+length-1;i<x+length;++i){
pattern[i][j]=curChar;
}
if(curChar == inner){
curChar = outer;
}else{
curChar = inner;
}
}
if(n !=1){
pattern[0][0] = ' ';
pattern[0][n-1] = ' ';
pattern[n-1][0] = ' ';
pattern[n-1][n-1] = ' ';
}
for(int i = 0;i < n;++i){
printf("%s\n",pattern[i]);
}
}
}
5 A B
AAA
ABBBA
ABABA
ABBBA
AAA
7 A B
BBBBB
BAAAAAB
BABBBAB
BABABAB
BABBBAB
BAAAAAB
BBBBB