C語言實現(xiàn)奇數(shù)階魔方陣的方法
本文實例講述了C語言實現(xiàn)奇數(shù)階魔方陣的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
#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 ){//先判斷前一個數(shù)是不是最右上角的數(shù),若是后一個數(shù)直接填在前一個數(shù)下方
i=i+1;
a[i][j] = k;
continue;
}
i = (i-1+N)%N;//計算前一個數(shù)右上角的坐標
j = (j+1)%N;
if(a[i][j] != 0){//若前一個數(shù)的右上角有元素,后一個數(shù)直接填在前一個數(shù)下方
i = ((i+1)%N+1)%N;//恢復坐標
j = (j-1+N)%N;
a[i][j] = k;
}else{//上述條件均不滿足,后一個數(shù)放在前一個數(shù)的右上角
a[i][j] = k;
}
}
for(i = 0; i < N; i++){
for(j = 0; j < N; j++){
printf("M",a[i][j]);
}
printf("\n");
}
}
測試數(shù)據(jù)如下:
N = 3
8 1 6
3 5 7
4 9 2
希望本文所述對大家的C語言程序設計有所幫助。
相關文章
C++11并發(fā)編程關于原子操作atomic的代碼示例
今天小編就為大家分享一篇關于C++11并發(fā)編程關于原子操作atomic的代碼示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12C++的靜態(tài)成員變量和靜態(tài)成員函數(shù)詳解
這篇文章主要為大家介紹了C++的靜態(tài)成員變量和靜態(tài)成員函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12解析C++的線性表鏈式存儲設計與相關的API實現(xiàn)
這篇文章主要介紹了解析C++中的線性表鏈式存儲設計與相關的API實現(xiàn),文中的實例很好地體現(xiàn)了如何創(chuàng)建和遍歷鏈表等基本操作,需要的朋友可以參考下2016-03-03