女儿编的第1个C程序: 奇幻方构造


#include <cstdlib>
#include <iostream>


using namespace std;


int main(int argc, char *argv[])
{
    int n,i,j,x,y,oldx,oldy;
    int a[10][10];
    printf("输入一个数"); 
    scanf("%d",&n);
    if(n%2==0)
      printf("我不会算偶数,喵~");
    else
    {
     //赋初值0
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      a[i][j]=0;
     // 赋第一个值 
       y=(n+1)/2;
       x=1;
       for (i=1;i<=(n*n);i++)
       {
         a[x][y]=i;
         oldx=x;
         oldy=y;
          if ((y+1)>n)
             y=1;
          else
             y=y+1;
          if ((x-1)<1)
             x=n;
          else
             x=x-1;
          if (a[x][y]!=0)
          {
           y=oldy;
           x=oldx+1;
           if((x>n))
               x=1;
               }
               }
               
      //输出结果 
      for(i=1;i<=n;i++)
      {
       for(j=1;j<=n;j++)      
         printf("%5d",a[i][j]); 
       printf("\n");
       }   
              
              }
    system("PAUSE");
    return EXIT_SUCCESS;
}

猜你喜欢

转载自blog.csdn.net/dalong10/article/details/9531589
今日推荐