//m行n列 逆时针螺旋
#include<stdio.h>
int main()
{
int n,m;
int i,j,sum,count=0,x=0,a[100][100];
scanf("%d",&m);
scanf("%d",&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
a[i][j]=0;//初始化数据,用来判断是否需要填数
while(1)//把每一圈分成四个部分
{
for(i=x;i<m-x;i++)//第一部分
{
j=x;
if(a[i][j]==0)//如果未被赋值,就给它赋值
a[i][j]=++count;
}
for(j=x;j<n-x;j++)//第二部分
{
i=m-1-x;
if(a[i][j]==0)//如果未被赋值,就给它赋值
a[i][j]=++count;
}
for(i=m-1-x;i>=x;i--)//3
{
j=n-1-x;
if(a[i][j]==0)//如果未被赋值,就给它赋值
a[i][j]=++count;
}
for(j=n-1-x;j>=x;j--)//4
{
i=x;
if(a[i][j]==0)//如果未被赋值,就给它赋值
a[i][j]=++count;
}
if(count==m*n)//判断是否赋值完毕
break;
x++;//循环变量
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
/求建议。