分类：电脑/网络-程序设计-C/C++
问题：C语言循环、条件与数组综合运用（n阶幻方）题目是这样的:输入任意 
题目是这样的:输入任意n,求出n阶幻方。(每行每列及对角线分别相加都相等)如:输入n=3输出: 2(即)请高手指点!
回答：#include<std.h>void main(){  printf("输入:");  int n=0;  scanf("%d",&n);  int **mat=new int*[n];  int i=0,j=n/2;//i,j做下标,第1个数放在第1行中间位置  for(;i<n;i++)  {    mat[i]=new int[n];  }  i=0;  for(int k=1;k<=n*n;k++)  {    mat[i][j]=k;//当前位置取值    if(k%n==0)//对角线已满    {      i=(i+1)%n;//下一位置向下一行    }    else    {      i=(i-1+n)%n;//下一位置向右上方      j=(j+1)%n;    }  }  printf("输出:\n");  for(i=0;i<n;i++)//输出结果  {    for(j=0;j<n;j++)    {      printf("%2d  ",mat[i][j]);    }    printf("\n");  }}