求救...真正的高手
求5*5的魔術方陣,其各行、各列與各對角線的和必須相同。 以方陣的某一邊中心為起來,開始向右(左)上方移動,並依序填入數字。若右(左)上方已有數值則向下填。 請高手指教...編寫此題程式碼....求救....誰會呢?教教我吧
#include<iostream.h> #include<iomanip.h>
void main() { int i,j,k; int a[5][5]; for(i=0;i<5;i++) { for(j=0;j<5;j++) { a[i][j]=0; } } i=0; j=2; for(k=1;k<=25;k++) { a[i][j]=k; i--; j++; if((i<0)&&(j<5)) { i=4; } if((i>=0)&&(j>4)) { j=0; } if(((i<0)&&(j>4))||(a[i][j]!=0)) { i+=2; j--; } } cout<<"您所需要的5*5阶魔方阵如下:"<<endl; for(i=0;i<5;i++) { for(j=0;j<5;j++) { cout<<setw(2)<<a[i][j]<<" "; } cout<<endl; } }