#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[31][31], i, j, m, n, p = 0;
while(p == 0)
{
system("clear");
printf("请输入不大于30的奇数:");
scanf("%d",&m);
if(m != 0 && m <= 30 && m % 2 != 0)
break;
}
for(i = 1; i <= m; i++)
for(j = 1; j <= m; j++)
a[i][j] = 0;
j = i / 2 + 1;
a[1][j] = 1;
for(n = 2; n <= m * m; n++)
{
i = i - 1;
j = j + 1;
if(i < 1 && j > m)
{i = i + 2;
j = j - 1;}
else
{
if(i < 1) i = m;
if(j > m) j = 1;
}
if(a[i][j] == 0)
a[i][j] = n;
else
{
i = i + 2;
j = j - 1;
a[i][j] = n;
}
}
system("clear");
printf("这个数的魔方阵是:n");
for(i = 1; i <= m; i+
COLOR: #0000cc">+)
{
for(j = 1; j <= m: j++)
printf("%4d",a[i][j]);
printf("n");
}
return 0;
}
此程序在linux下的编译是
gcc -Wall -g filename.c -o filename
编译器警告选项 -Wal
它的作用是让GCC编译过程中产生更多的警告信息
-g选项的作用是在用GDB调试时用的,所以说如果要进行调试的话这个选项必须加上,否则是不能进行调试的.
-o选项是产生一个重新命名的可执行文件(例如magiccube.c -o magic,这样就文产生一个magic的可执行文件,不加的话产生的是一个名为a.out的文件)
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!