/*遍历每个元素,从外层开始判断元素是否属于该层,否则判断是否属于往里一层*/
#include<stdio.h>
int main(void)
{
int i,j,N,ii;
puts("Enter a number between 4 and 19");
scanf("%d",&N);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
if(i==0||i==(N-1)||j==0||j==(N-1)){if(j==N-1)printf("X\n");else printf("X");}
else if(i==1||i==(N-2)||j==1||j==(N-2))printf("Y");
else
{
for(ii=2;ii<=(N/2);ii++)
if(i==ii||i==(N-ii-1)||j==ii||j==(N-ii-1)){printf("%d",ii-2);break;}
}
}
return 0;
}
运行结果: