1、 给定一个正整数n,输出如下 n ´ n “之字形”方阵。如下:
1 2 6 7 15 16 28 29
3 5 8 14 17 27 30 43
4 9 13 18 26 31 42 44
10 12 19 25 32 41 45 54
11 20 24 33 40 46 53 55
21 23 34 39 47 52 56 61
22 35 38 48 51 57 60 62
36 37 49 50 58 59 63 64
代码:
#include<iostream>
using namespace std;
void main()
{
int n,i,j,m,k;
int a[100][100]={0};
cout<<"please input n:";
cin>>n;
k=0; //标记
i=0,j=0;
m=1;
a[0][0]=m;
while(m<n*n)
{
switch(k)
{
case 0: //向右或向下
if(i+j<n-1)
{
j++;
m++;
a[i][j]=m;
k=(k+1)%4;
}
else
{
i++;
m+