为什么提交之后是错的呢?输出样例看起来没什么问题。
#include <iostream>
using namespace std;
int num[12][12] = { 0 };
int n, x = 1, y = 0, k = 1;
int main()
{
cin >> n;
while (k<=n*n)
{
while (y<n&&!num[x][y+1])
{
num[x][++y] = k++;
}
while (x<n&&!num[x+1][y])
{
num[++x][y] = k++;
}
while (x > 1 && !num[x - 1][y])
{
num[--x][y] = k++;
}
while (y > 1 && !num[x][y - 1])
{
num[x][--y] = k++;
}
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (num[i][j] < 10)
cout << " " << num[i][j] << " ";
else
cout << num[i][j] << " ";
}
cout << endl;
}
return 0;
}