您的位置:首页 > 其它

算法竞赛入门经典程序3-3

2014-11-19 14:19 141 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: