作业帮 > 综合 > 作业

用C语言输出一个N阶蛇形矩阵

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/29 00:22:35
用C语言输出一个N阶蛇形矩阵
生成一个按蛇形方式排列自然数1、2、3、…N2 的N阶方阵:
比如N=5时
注意是C语言而不是C++
用C语言输出一个N阶蛇形矩阵
#include
using namespace std;
int main()
{
int **array;
int i,j,k,n,x = 1,y = -1,flag = 0;
cin >> n;
array = new int*[n];
for(i = 0; i < n; i++)
array[i] = new int[n];
for(i = 0,j = 0,k = 0; i < n * n; i++)
{
if(j < 0)
{
j = 0;
flag = 1;
x = 1;
y = -1;
}
else if(j >= n)
{
if(k < 0)
k = 1;
else
k += 2;
j = n - 1;
y = 1;
x = -1;
}
if(k < 0)
{
k = 0;
x = -1;
y = 1;
}
else if(k >= n)
{
if(flag)
j++;
else
j += 2;
k = n - 1;
x = 1;
y = -1;
}
array[j][k] = i + 1;
j += x; //选择行缩进方式
k += y; //选择列缩进方式
flag = 0;
}
for(j = 0; j < n; j++)
{
for(k = 0; k < n; k++)
cout