1.
1 | 6 | 7 |
2 | 5 | 8 |
3 | 4 | 9 |
#include<bits/stdc++.h>
using namespace std;
int a[10000][10000]={0};
int main()
{
int n,sum=0;
cin>>n;
for(int i = 1 ; i <= n ; i++)
{
int x = 1;
int y = i;
if(i % 2 != 0)
{
while(x<=n)
{
sum++;
a[x][y]=sum;
x++;
}
}
else
{
x=n;
while(x>=1)
{
sum++;
a[x][y]=sum;
x--;
}
}
}
for(int i = 1 ; i <= n ; i++)
{
for(int j = 1 ; j <=n ; j++)
{
cout<<setw(3)<<a[i][j];
}
cout<<endl;
}
return 0;
}
2.
13 | 14 | 15 | 16 | 1 |
12 | 23 | 24 | 17 | 2 |
11 | 22 | 25 | 18 | 3 |
10 | 21 | 20 | 19 | 4 |
9 | 8 | 7 | 6 | 5 |
#include<bits/stdc++.h>
using namespace std;
int a[1000][1000];
int main()
{
int n,sum=1;
cin>>n;
for(int i = 0 ; i < n/2 ; i++)
{
int x = i;
int y = n-i-1;
for(x = i ; x<= n-i-2 ; x++)
{
a[x][y]=sum;
sum++;
}
for(y = n-i-1 ; y>=i+1 ; y--)
{
a[x][y]=sum;
sum++;
}
x=n-i-1;
for(x = n-i-1 ; x >= i+1 ; x--)
{
a[x][y]=sum;
sum++;
}
for(y = i ; y <=n-i-2 ; y++)
{
a[x][y] = sum;
sum++;
}
}
if(n%2 != 0)
{
a[n/2][n/2] = sum;
}
for(int i = 0 ; i < n ; i++)
{
for(int j = 0 ; j < n ; j++)
{
cout<<setw(4)<<a[i][j];
}
cout<<endl;
}
return 0;
}
3.三角形蛇形
#include<stdio.h>
#include<string.h>
#define max 20
int a[max][max];
int main()
{
int x,y,t=0,n;
scanf("%d",&n);
memset(a,0,sizeof(a));
t=a[x=0][y=n-1]=1;
while(t<n*n)
{
while(x+1<n&&!a[x+1][y]) a[++x][y]=++t;
while(y-1>=0&&!a[x][y-1]) a[x][--y]=++t;
while(x-1>=0&&!a[x-1][y]) a[--x][y]=++t;
while(y+1<n&&!a[x][y+1]) a[x][++y]=++t;
}
for(int i = 0 ; i < n ; i++)
{
for(int j = 0 ; j < n ; j++)
printf("%d\t",a[i][j]);
printf("\n");
}
return 0;
}
填数
1 | 2 | 6 | 7 | 15 |
3 | 5 | 8 | 14 | |
4 | 9 | 13 | ||
10 | 12 | |||
11 |
#include<bits/stdc++.h>
using namespace std;
int a[1000][1000];
int main()
{
int n,sum=1;
cin>>n;
for(int i = 0 ; i < n ; i++)
{
if(i%2==0)
{
int x = i;
int y = 0;
while(x+1)
{
a[x][y]=sum;
sum++;
x--;
y++;
}
}
else
{
int x = 0;
int y = i;
while(y+1)
{
a[x][y]=sum;
sum++;
x++;
y--;
}
}
}
for(int i = 0 ; i < n ; i++)
{
for(int j = 0 ; j < n ; j++)
{
if(a[i][j]!=0)
{
cout<<setw(4)<<a[i][j];
}
}
cout<<endl;
}
return 0;
}