编程题:N行N列魔方阵,其构成法则,要求行数相加、列数相加,对角线相加 之和相等,必须N >=3 ,N是奇数

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:15:21
N行N列魔方阵,其构成法则:第一,阶数必须是奇数(n>3);第二,将“1”放在第一行的中间一列;第三,从“2”开始只到n*n各数依次按下里列规则存放:每一个数存放的行比前一个数的行数减1,列数加1;第四,如果上一个数的行数为 1,则下一个数的行数为n,列数加1;第五,如果上一个数的列数为n,则下一个数的列数为1,行数减1;第六,如果一个数是N的整数倍,则把下一个数放在这一个数下面。

#include <sio.h>
#define MAXSIZE 15
int magic[MAXSIZE][MAXSIZE];
int cur_i=0,cur_j=0;
main()
{int count,size=0,i,j;
while((size%2)==0)
{
printf("\nenter ODD number:");
scanf("%d",&size);
}
cur_j=(size-1)/2;
for(count=1;count<=size*size;count )
{
magic[cur_i][cur_j]=count;
if((count%size)==0)
{
cur_i =1;
continue;
}
cur_i=cur_i-1;
cur_j=cur_j 1;
if(cur_i<0)
cur_i =size;
else if(cur_j==size)
cur_j-=size;
}
for(i=0;i<size;i )
{
printf("\n");
for(j=0;j<size;j )
printf("]",magic[i][j]);
}
}

另外 这里有详细的讨论
http://dev.wl668.com/c/c/2005965601_4209299.shtml

编程题:N行N列魔方阵,其构成法则,要求行数相加、列数相加,对角线相加 之和相等,必须N >=3 ,N是奇数 求:每一行每一列对角线的和相等的阵列(魔方阵—),要求输出1—n的平方的自然数构成的魔方阵。 求教一道编程题?打印一个n阶魔方阵,要求用C编写。 谁帮我做个N阶魔方阵 求(2n+1)平方的魔方阵算法 编程题:输入n,编程生成n×n的螺旋方阵。 用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形 帮忙做一JAVA编程题。任意输入N个自然数,输出其奇数的和以及偶数的和。 vb编程: 一个N位的正整数,其各位数的N次方之和等于这个数, 构成N*N阶的拉丁方阵(2〈=N〈=9),使方阵中的每一行和每一列中数字1到N只出现一次。