急求!C语言的蛇形方阵!
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 18:02:29
急求!C语言的蛇形方阵!
1 2 6 7 15 16
3 5 8 14 17 26
4 9 13 18 25 27
10 12 19 24 28 33
11 20 23 29 32 34
21 22 30 31 35 36
如上图,输入一个N,输出N行N列的蛇形方阵,
求思路,最好附上代码(最好有注释)!
多谢了!
1 2 6 7 15 16
3 5 8 14 17 26
4 9 13 18 25 27
10 12 19 24 28 33
11 20 23 29 32 34
21 22 30 31 35 36
如上图,输入一个N,输出N行N列的蛇形方阵,
求思路,最好附上代码(最好有注释)!
多谢了!
#include <stdio.h>
#define N 5 /*可改变数组大小*/
#define M 0 /*改变蛇形数组 方向*/
/*
M = 0
1 3 4
2 5 8
6 7 9
M = 1
1 2 6
3 5 7
4 8 9
*/
void main()
{
int x=0,y=0,b,k=1,i,j,w=1;
int s[N][N];
b = N*N;
s[0][0]=1;
for(i=2; i<=b; i++)
{
if((y == 0) && (x != (N-1)) && (x%2 == (0+M)%2))
{
x++;
k = 1;
w = 0;
}
if((x == 0) && (y != (N-1)) && (y%2 == (1+M)%2))
{
y++;
k = 0;
w = 0;
}
if(x == (N-1) && (y%2 == ((N%2+1)%2+M)%2))
{
y++;
k = 1;
w = 0;
}
if(y == (N-1) && (x%2 == (N%2+M)%2) && !( (x == N-1) && (y == N-1) ) )
{
x++;
k = 0;
w = 0;
}
if((w == 1) && (k == 1))
{
x--;
y++;
}
if((w == 1) && (k == 0))
{
x++;
y--;
}
s[x][y] = i;
w = 1;
}
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
printf("%d\t",s[i][j]);
}
printf("\n");
}
}
#define N 5 /*可改变数组大小*/
#define M 0 /*改变蛇形数组 方向*/
/*
M = 0
1 3 4
2 5 8
6 7 9
M = 1
1 2 6
3 5 7
4 8 9
*/
void main()
{
int x=0,y=0,b,k=1,i,j,w=1;
int s[N][N];
b = N*N;
s[0][0]=1;
for(i=2; i<=b; i++)
{
if((y == 0) && (x != (N-1)) && (x%2 == (0+M)%2))
{
x++;
k = 1;
w = 0;
}
if((x == 0) && (y != (N-1)) && (y%2 == (1+M)%2))
{
y++;
k = 0;
w = 0;
}
if(x == (N-1) && (y%2 == ((N%2+1)%2+M)%2))
{
y++;
k = 1;
w = 0;
}
if(y == (N-1) && (x%2 == (N%2+M)%2) && !( (x == N-1) && (y == N-1) ) )
{
x++;
k = 0;
w = 0;
}
if((w == 1) && (k == 1))
{
x--;
y++;
}
if((w == 1) && (k == 0))
{
x++;
y--;
}
s[x][y] = i;
w = 1;
}
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
printf("%d\t",s[i][j]);
}
printf("\n");
}
}
急求!C语言的蛇形方阵!
蛇形填数 用c语言Problem Description在n*n方阵里填入1,2,...,n*n,要求填成蛇形,例如n=
c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数
用c语言求一个n阶方阵对角线元素的和,急啊,那位能做马上要啊!谢谢
急求 约瑟夫C语言的问题
C语言 蛇形矩阵问题蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.Input 本题有多组数据,每组数据由一个正
用C语言编写蛇形矩阵编制一个程序,对于输入的一个自然数n(n≤15),把 n^2个自然数1,2,3,…n^2 按蛇形方式
急求free pascal高手编程:蛇形填数,在n*n的格子中,按如下方式填数.
请问谁有数据结构实验 蛇形矩阵 的心得体会,是数据结构和C语言编程的.字数越多越好,质量无须太高.
急!求C语言高精度加法计算的程序
急求解答下面的C语言编程题,
C语言求圆周长的错误 急