我正在尝试使用c编程语言解决魔方问题。但是当我运行以下代码时没有发生任何事情。这有什么问题?
这是我的代码
逻辑:
要求用户输入魔方的大小
循环播放总大小
获得1号位置
同时获取其他数字的位置
#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;
}
答案 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