/*
魔方阵,古代又称“纵横图”,是指组成元素为自然数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的更多相关文章

随机推荐

  1. C++Builder和VC的比较

    C++Builder和VC的比较 其实很久以前我就想写这篇文章,其原因一方面是因为笔者深深感觉到C++ Builder的确是一个先进与强大的程式开发工具,但更最重要的一点是,我深信C++ Builde ...

  2. NSPoint

    #import <Foundation/Foundation.h>   int main(int argc, const char * argv[]) {    @autoreleasep ...

  3. sql server 自定义函数的使用

    sql server 自定义函数的使用 自定义函数 用户定义自定义函数像内置函数一样返回标量值,也可以将结果集用表格变量返回 用户自定义函数的类型: 标量函数:返回一个标量值 表格值函数{内联表格值函 ...

  4. 转 Difference between WCF and Web API and WCF REST and Web Service

    http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-R ...

  5. WPF中Timer与DispatcherTimer类的区别

    前几天在WPF中写了一个轨迹回放的功能,我想稍微做过类似项目的,都晓得采用一个时间控件或者时间对象作为调度器,我在这么做的时候,出现了问题,于是将程序中的Timer换成了DispatchTimer,然 ...

  6. 协同滤波 Collaborative filtering 《推荐系统实践》 第二章

    利用用户行为数据 简介: 用户在网站上最简单存在形式就是日志. 原始日志(raw log)------>会话日志(session log)-->展示日志或点击日志 用户行一般分为两种: 1 ...

  7. POJ 2516 最小费用流

    依然最小费用最大流模板题 建边麻烦了些 #include <cstdio> #include <cstring> #include <iostream> #incl ...

  8. 函数xdes_init

    /**********************************************************************//** Inits an extent descript ...

  9. Jqgrid入门-Jqgrid列数据拖动(七)

    上一章提到在Jqgrid中如何设置二级表头,这一章节主要探讨Jqgrid表格里面的数据如果实现拖动功能,比如你想把第一行的数据拖到当前页的最后一行,或者其他位置.     Jqgrid表格插件自己没有 ...

  10. ffmpeg开发指南

    FFmpeg是一个集录制.转换.音/视频编码解码功能为一体的完整的开源解决方案.FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用.FFmpeg支持MPEG.DivX.M ...