#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[50][50];
int n ,num = 1;
cin >> n;
if (n % 2 == 0)
{
for (int y = 0; y < n / 2; y++)
{
//上:
for (int i = y; i < n-1-y; i++)
{
a[y][i] = num;
num += 1;
}
//右:
for (int j = y; j < n - 1-y; j++)
{
a[j][n-1-y] = num;
num += 1;
}
//下;
for (int k = n - 1 - y; k > y; k--)
{
a[n-1-y][k] = num;
num++;
}
//左:
for (int l = n - 1 - y; l > y; l--)
{
a[l][y] = num;
num++;
}
}
}
else
{
for (int y = 0; y < n / 2; y++)
{
//上:
for (int i = y; i < n - 1 - y; i++)
{
a[y][i] = num;
num += 1;
}
//右:
for (int j = y; j < n - 1 - y; j++)
{
a[j][n - 1 - y] = num;
num += 1;
}
//下;
for (int k = n - 1 - y; k > y; k--)
{
a[n - 1 - y][k] = num;
num++;
}
//左:
for (int l = n - 1 - y; l > y; l--)
{
a[l][y] = num;
num++;
}
}
a[n / 2][n / 2] = num;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout<<setw(3)<< a[i][j] << " ";
cout << endl;
}
}
C++实现螺旋矩阵
最新推荐文章于 2024-08-02 16:46:49 发布