求这样一个矩阵的输出代码
求这样一个矩阵的输出代码
1 1 1 1 1 1 1
1 2 2 2 2 2 1
1 2 3 3 3 2 1
1 2 3 4 3 2 1
1 2 3 3 3 2 1
1 1 1 1 1 1 1
[解决办法]
void print_matrix(int n)
{
int i,j,x,y,m,width,w;
m = n + 1;
if( n <= 0 )
{
return;
}
for(w=m/2,width=0;w> 0;w=w/10)
{
width++;
}
for(i=1;i <=n;++i)
{
x=(i <=m/2)?i:(m-i);
for(j=1;j <=n;++j)
{
y=(j <=m/2)?j:(m-j);
printf( "%*d ",width,(x <y)?x:y);
}
printf( "\n ");
}
}
这个就比较完整了