螺旋填数
题目描述:
创建一个m行n列的数组,将1—m*n的数字螺旋填入
方向为右下左上
输入说明:
输入正整数m和n,以空格分隔
输出说明:
输出填好的数组,数组元素之间用空格分隔,数组每行之间以换行分隔
输入示例:
4 5
输出示例:
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8
答案:
#include <stdio.h>
int main()
{
int m,n;
scanf("%d %d",&m,&n);
int a[m][n],i=0,j=0,flag=1,k=1,p=1,q=1;
int M=m,N=n;
while(k<=M*N)
{
if(flag%2==1)
{
if(p%2==1)//最上面一行从左向右
{
int t=j;
while(j<t+n)
{
a[i][j]=k;
k++;
if(j==t+n-1)
{
i++;
break;
}
j++;
}
}
else if(p%2==0)//最下面一行从右向左
{
int t=j;
while(j>t-n)
{
a[i][j]&#