#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下c语言魔方阵程序此程序在linux下的编译是
gcc -Wall -g filename.c -o filename
编译器警告选项 -Wal
它的作用是让GCC编译过程中产生更多的警告信息
-g选项的作用是在用GDB调试时用的,所以说如果要进行调试的话这个选项必须加上,否则是不能进行调试的。
-o选项是产生一个重新命名的可执行文件(例如magiccube.c -o magic,这样就文产生一个magic的可执行文件,不加的话产生的是一个名为a.out的文件)