C语言实现奇数阶魔方阵的方法
C语言实现奇数阶魔方阵的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了C语言实现奇数阶魔方阵的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:#include"stdio.h"#i...

本文实例讲述了C语言实现奇数阶魔方阵的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:#include "stdio.h"

#include "string.h"

#include "stdlib.h"

#define N 5

void main(){

int a[N][N]={0};

int i,j;

int k;

i = 0;

j = N/2;

a[0][j]=1;

for(k = 2; k <= N*N; k++){

if( i == 0 && j == N-1 ){//先判断前一个数是不是最右上角的数,若是后一个数直接填在前一个数下方

i=i+1;

a[i][j] = k;

continue;

}

i = (i-1+N)%N;//计算前一个数右上角的坐标

j = (j+1)%N;

if(a[i][j] != 0){//若前一个数的右上角有元素,后一个数直接填在前一个数下方

i = ((i+1)%N+1)%N;//恢复坐标

j = (j-1+N)%N;

a[i][j] = k;

}else{//上述条件均不满足,后一个数放在前一个数的右上角

a[i][j] = k;

}

}

for(i = 0; i < N; i++){

for(j = 0; j < N; j++){

printf("M",a[i][j]);

}

printf("n");

}

}

测试数据如下:

N = 3

8 1 6

3 5 7

4 9 2

希望本文所述对大家的C语言程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C语言学习
热门C语言学习
编程开发子分类