魔方阵
2015-12-01 16:52
134 查看
魔方阵,它的每一行,每一列以及对角线上的各数之和为一个相同的常数。
这里只考虑了奇次阶魔方阵,数组下标是从1~n。
这里只考虑了奇次阶魔方阵,数组下标是从1~n。
#include<stdio.h> int main() { int i, j, i1, j1, x, n, a[100][100]; printf("input an odd number:"); scanf("%d", &n); if (n % 2 == 0) { printf("input error!\n"); return 0; } for (i = 1; i <= n; i++) for (j = 1; j <= n; j++) a[i][j] = 0; i = 1; j = (int)(n+1)/ 2; x = 1; while (x <= n * n) { a[i][j] = x; x = x + 1; i1 = i; j1 = j; i = i -1; j = j - 1; if (i == 0) i = n; if (j == 0) j = n; if (a[i][j] != 0) { i = i1 + 1; j = j1; } } for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) printf("%5d", a[i][j]); printf("\n"); } }
相关文章推荐
- bootstrap快速入门笔记(七)-表格,表单
- 美化的select下拉框
- QT自定义控件
- 模拟实现常用字符串函数
- AndroidStudio与GitHub
- Obj模型导入器实现
- hdoj Friendship of Frog 5578 (简单字符串转换)
- 数据链路层的是三个基本问题
- Selenium2Library源码解读(1)- 概述
- HBase系列三
- android中Scrollview中套ListView,高度超出屏幕,listview无法滑动问题
- 标准C的IO
- 九度OJ 1352:和为S的两个数字 (查找)
- 进程与线程的区别(面试高频问题)
- linux 多线程
- 汉诺塔问题
- MySQL碎碎念
- 九度OJ 1352:和为S的两个数字 (查找)
- ubuntu14.04 安装五笔输入法(fcitx)
- IOS与服务器交互POST 和 GET