无阵列幻方算法(C)
我正试图用c语言解决幻方问题。但是当我运行下面的代码时,什么也没发生。怎么了 这是我的密码 逻辑:无阵列幻方算法(C),c,C,我正试图用c语言解决幻方问题。但是当我运行下面的代码时,什么也没发生。怎么了 这是我的密码 逻辑: 要求用户输入幻方的大小 循环通过总大小 得到数字1的位置 还可以得到其他数字的位置 #包括 #包括 int main() { int col、row、i、size、totalSize; printf(“请输入魔术盒的大小\n”); scanf(“%d”,大小(&S); 总尺寸=尺寸*尺寸; printf(“总幻方大小%d\n”,总大小); 对于(i=1;i您的问题似乎与您的开发环境有关。在IDE
#包括
#包括
int main()
{
int col、row、i、size、totalSize;
printf(“请输入魔术盒的大小\n”);
scanf(“%d”,大小(&S);
总尺寸=尺寸*尺寸;
printf(“总幻方大小%d\n”,总大小);
对于(i=1;i您的问题似乎与您的开发环境有关。在IDE中,当程序结束时,程序窗口似乎关闭
有两种方法可以解决这个问题
第一种方法是将程序编译成exe文件并从cmd窗口运行
第二种方法是在程序结束前引入延迟。您可以插入对sleep
的调用数秒,或者从标准输入中读取/scanf
内容
我运行了您的程序,没有在坐标列打印,而是打印了第I行(列,行)I
输出如下所示(我觉得很好):
“什么事都没发生”是什么意思?它甚至没有要求您输入吗?我不确定您的问题是什么,但请注意,您使用的是totalSize而没有先初始化它totalSize
未初始化!@interjay屏幕消失quickly@o_weismanOP使用的是conio.h
,这是一个。因此,他们很可能是在没有“按enter键继续”提示的IDE。解决方案不是scanf
或cin.get()
或其他什么,而是鼓励OP在控制台中运行其所属的控制台程序。
#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;
}
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