打印一个 N*N 的方阵,N为每边字符的个数,要求最外一层为T,第二层为J,从第三层其每层打印数字1,2,3.。。。。 N=15 打印出下
#include"stdio.h"#include"stdlib.h"
void main()
{
char a[30][30];
int i,j,k,N;
printf("please input N: ");
scanf("%d",&N);
for(i=0;i<N;a[0][i]='T',a[N-1][i]='T',a[i][0]='T',a[i][N-1]='T',i++);
for(i=1;i<N-1;a[1][i]='J',a[N-2][i]='J',a[i][1]='J',a[i][N-2]='J',i++);
for(j=49,i=2;i<N/2+1;i++,j++)
for(k=i;k<N-i;a[i][k]=j,a[k][i]=j,a[N-i-1][k]=j,a[k][N-i-1]=j,k++);
for(i=0;i<N;i++)
{
for(k=0;k<15;k++)
printf(" ");
for(j=0;j<N;j++)
printf("%c ",a[i][j]);
printf("\n");
}
}
看了人家的程序,不明白49啥意思,把49换成其他的数字,输出的结果各不相同,解释一下哦