本文共 555 字,大约阅读时间需要 1 分钟。
什么是蛇形填数,百度一下即可
你能发现这里面的数为1到 n*n;
所以写个循环即可while(count=0 &&!a[x][y-1]) a[x][--y]=++count;//向左 while(x-1>=0 &&!a[x-1][y]) a[--x][y]=++count;//左上 while(y+1
填过的地方不为0了,所以不再填一次
#include#include using namespace std;int a[100][100];void main(){ int n,count,x,y; cin>>n; memset(a,0,sizeof(a)); //初始化为0 count = a[x=0][y=n-1] = 1; while(count =0 &&!a[x][y-1]) a[x][--y]=++count; while(x-1>=0 &&!a[x-1][y]) a[--x][y]=++count; while(y+1
Happy Coding
Seen