#include<iostream>
using namespace std;
#define Max_Size 100//定义一个最大100*100的二维数组
int arr[Max_Size][Max_Size];
int main()
{
int n;
cout << "请输入几行几列数组:";
cin >> n;
int i = 0, j = 0;
int index = 1;
while (index <= n*n)
{
while(arr[i][j] == 0 && j < n)
arr[i][j++] = index++;
j--;//回退
i++;//下移
while(arr[i][j] == 0 && i < n)
arr[i++][j] = index++;
i--;//回退
j--;//左移
while(arr[i][j] == 0 && j >= 0)
arr[i][j--] = index++;
j++;//回退
i--;//上移
while(arr[i][j] == 0 && i >= 0)
arr[i--][j] = index++;
i++;//回退 如果元素不为0 向右下角移动
j++;//右移
}
//打印二维数组
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
printf("%4d", arr[i][j]);
}
cout << endl;
}
}
回型数组
最新推荐文章于 2022-02-18 20:20:32 发布