没有数组的魔方算法(C)

时间:2014-10-02 10:30:35

标签: c

我正在尝试使用c编程语言解决魔方问题。但是当我运行以下代码时没有发生任何事情。这有什么问题?

这是我的代码

逻辑:

  1. 要求用户输入魔方的大小

  2. 循环播放总大小

  3. 获得1号位置

  4. 同时获取其他数字的位置


  5. #include<stdio.h>
    #include<conio.h>
    int main()
            {
              int col,row,i,size,totalSize;
              printf("please enter size of magic box\n");
              scanf("%d",&size);
              totalSize =size * size ;
              printf("total magic square size %d\n",totalSize);
              for(i=1;i<=totalSize;i++)
              {
                    if(i==1)
                    {
                      row =1;
                      col=(size+1)/2;
                    }else if(((i-1) % size) == 0){
                      row++;
                    }else{
                      row--; col--;
                      if(row == 0)
                       row = size;
                      if(col == 0)
                       col = size;
                    }
                    gotoxy(col,row);
               printf("%d",i);
    
              }
              return 0;
            }
    

1 个答案:

答案 0 :(得分:1)

您的问题似乎与您的开发环境有关。在您的IDE中,似乎程序结束时,程序窗口关闭。

有两种方法可以解决这个问题。

第一种方法是将程序编译为exe文件并从cmd窗口运行。

第二种方法是在程序结束前引入延迟。您可以拨打sleep几秒钟或read / scanf来自标准输入的电话。

我运行了你的程序,而不是在坐标col上打印,我打印了(col, row) i行。

输出看起来像这样(对我来说很好):

please enter size of magic box
3
total magic square size 9
(2, 1) 1
(1, 3) 2
(3, 2) 3
(3, 3) 4
(2, 2) 5
(1, 1) 6
(1, 2) 7
(3, 1) 8
(2, 3) 9