ACM1998
/*
魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2…n的平方的n×n的方阵,
其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。
输入一个奇数,实现奇数魔方阵。 附:奇数魔方阵的实现方法
(1) 将1填入第一行中间;
(2) 将每个数填在前一个数的右上方。
(3) 若该位置超出最上行,则改填在最下行的对应位置;
(4) 若该位置超出最右列,则该填在最左列的对应行位置;
(5) 若某元素填在第一行最右列,下一个数填在该数同列的下一行;
(6) 若某数已填好,但其右上角已填了其他数据,则下一个数填在该数同列的下一行位置。
*/ #include <stdio.h>
#include <math.h> int main(void)
{
int a[][],i,j,n,k,count; scanf("%d",&count);
while(count--)
{
scanf("%d",&n);
for(i=;i<=n;i++)
for(j=;j<=n;j++)
a[i][j]=;
j=n/+;
a[][j]=;
i=; for(k=;k<=n*n;k++)
{
i=i-;
j=j+; if( i== && j==n+ )
{
i=i+;
j=j-;
}
else
{
if(i==)
{
i=n;
}
if(j==n+)
{
j=;
}
} if(a[i][j]==)
{
a[i][j]=k;
}
else
{
i=i+;
j=j-;
a[i][j]=k;
}
} for(i=;i<=n;i++)
{
for(j=;j<=n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
return ;
}
ACM1998的更多相关文章
随机推荐
- JSON操作技巧
JSONObject.JSONArray 最近两个星期接触最多的就是json和map了. 之前用到的json,就是一个键对应一个值,超级简单的一对一关系.现在用到的json那可以层层嵌套啊,刚开始接触 ...
- (转)SSI开发环境搭建
本文转自:http://blog.csdn.net/lifuxiangcaohui/article/details/7187869 先来点文字性的描述: MVC对于我们来说,已经不陌生了,它起源于20 ...
- C++:纯虚函数与抽象类
5.4.3 纯虚函数和抽象类 纯虚函数是一个在基类中说明的虚函数,它在该基类中没有定义,但是要求在派生类中根据需要对它进行定义,或仍然说明为纯虚函数. 声明纯虚函数的一般格式是: virtual 函数 ...
- vim编程 插入 保存不退出 保存退出 退出不保存 另存为其他文件名 保存覆盖现有文件
---恢复内容开始--- 在xshell里写代码,如果需要编辑代码,可以输入 vim+ xxx.py ,进入vim编辑界面 这里的xxx.py表示 python的存储文件,后缀名是.py. 1. ...
- C#ShowCursor光标的显示与隐藏
使用using System.Runtime.InteropServices; [DllImport("user32.dll" , EntryPoint = "Sho ...
- Lists of network protocols
https://en.wikipedia.org/wiki/Lists_of_network_protocols Protocol stack: List of network protocol st ...
- grunt + compass
compass和sass文章列表:http://182.92.240.72/tag/compass/ compass实战grunt: http://wrox.cn/article/2000491/ h ...
- JAVA将Excel中的报表导出为图片格式(三)换一种实现
上一篇介绍了使用Java的Robot机器人实现截图,然后将剪贴板上的数据流生成PNG图片 但是经过博主的不断测试,在完全依赖远程桌面的没有终端显示器的服务器上 使用截图方式是不可行的,因为一旦使用了远 ...
- Linq 时间对比陷阱坑
同样的两个datetime 格式的时间 2013年12月2日 17点29分57秒
- 【C#学习笔记】播放wma/mp3文件
using System; using System.Runtime.InteropServices; namespace ConsoleApplication { class Program { [ ...