大题时间太短,又紧张,没做出来,真的很桑心。
蛇形矩阵后来想想还是挺简单的:
为什么考试时候就没做好。。。呜呜~~~
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n;
cin>>n;
int res[n][n];
vector<int> v;
for(int i=1;i<=n*n;i++)
   v.push_back(i);
    int x=0,y=0;
    int t=0;//层数
    for(int i=0;i<v.size();i++)
    {
    res[x][y]=v[i];
    if(y<n-1-t && x==t)//向右
    {
   y++;
   }
   else if(x<n-1-t && y==n-1-t)//向下
   {
    x++;
    }
    else if(y>t && x==n-1-t)//向左
    {
   y--;
   }
   else if(x>t+1 && y==t)//向上
   {
   x--;
    if(x==t+1)
     t++;//做完一层到下一层
    }
    }
    for(int i=0;i<n;i++)
    {
    for(int j=0;j<n;j++)
    {
   if(i==n-1 && j==n-1)
      cout<<res[i][j]<<endl;
         else
            cout<<res[i][j]<<" ";
   }
    }
return 0;
}