#include <iostream>
#include <stdio.h>
using namespace std;
//const int max=8;
int a[8][8];
int main()
{
//输入数字n
int n;
cin>>n;
int x=0,y=n-1;
//判断边界条件,并为a[1][n-1]赋值
a[x][y]=1;
int num=1;
while (num<n*n) //将最外面的数字输入完毕后 在输内部的值
{
while (x<n-1 && !a[x+1][y]) { a[++x][y]=++num; }
while (y>0 && !a[x][y-1]) { a[x][--y]=++num; }
while (x>0 && !a[x-1][y]) { a[--x][y]=++num; }
while (y<n-1 && !a[x][y+1]) { a[x][++y]=++num; }
}
for (int i=0; i<n; i++)
{for (int j=0; j<n; j++)
//
{ //cout<<a[i][j];
printf("%3d",a[i][j]);
}
//printf("\n");
cout<<"\n"<<endl;
}
return 0;
}
时间: 2024-09-29 19:24:03