首页 / 软件开发 / C语言 / linux下c语言魔方阵程序
linux下c语言魔方阵程序2010-05-18#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("这个数的魔方阵是:
");
for(i = 1; i <= m; i+
COLOR: #0000cc">+)
{
for(j = 1; j <= m: j++)
printf("%4d",a[i][j]);
printf("
");
}
return 0;
}
此程序在linux下的编译是gcc -Wall -g filename.c -o filename编译器警告选项 -Wal它的作用是让GCC编译过程中产生更多的警告信息-g选项的作用是在用GDB调试时用的,所以说如果要进行调试的话这个选项必须加上,否则是不能进行调试的.-o选项是产生一个重新命名的可执行文件(例如magiccube.c -o magic,这样就文产生一个magic的可执行文件,不加的话产生的是一个名为a.out的文件)