Description

蛇形针回字阵:

如3*3:

回字阵:

7 6 5

8 1 4

9 2 3

Input

多组数据:

每一行一个正整数n(n为奇数,<26),代表n*n矩阵。

Output

输出回字阵(字段宽度为4).

Sample Input

5

Sample Output

 21  20  19  18  17
  22   7   6   5  16
  23   8   1   4  15
  24   9   2   3  14
  25  10  11  12  13

Source

新生杯
 
 
 #include<iostream>
#include <cstdio>
using namespace std; int main()
{
int n;
while(cin>>n)
{
int a[n][n];
for(int i=;i<n;i++)
for(int j=;j<n;j++)
a[i][j]=; for(int i=;i<n;i++)//对角线初始化
a[i][i]=(n-i*)*(n-i*)-(n-i*-); for(int i=;i<n;i++)//根据对角线填入数字(左上部分)
{
for(int j=+i;j<n-i-;j++)//上边部分
a[i][j]=a[i][j-]-;
for(int j=+i;j<n-i;j++)//左边部分
a[j][i]=a[j-][i]+;
} for(int i=n-;i>=;i--)//根据对角线填入数字(右下部分)
{
for(int j=n-(n-i+);j>=n--i;j--)//右边部分
a[j][i]=a[j+][i]+;
for(int j=n-(n-i+);j>=n-i;j--)//下边部分
a[i][j]=a[i][j+]-;
} for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
{
printf("%4d",a[i][j]);
}
cout<<endl;
}
}
return ;
}
 

最新文章

  1. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
  2. linux 时间同步的2种方法
  3. Ruby之入门(一)
  4. sqlite3 命令
  5. juery与表单中name=&quot;nodeName&quot;引起的冲突
  6. 如何选择前端框架:ANGULAR VS EMBER VS REACT
  7. Intent传参数
  8. 用GDB调试程序(一)
  9. javascript 中break、 continue、函数不能重载
  10. Java虚拟机详解05----垃圾收集器及GC参数
  11. XAML(2) - 依赖属性
  12. 通用权限底层研究:Web应用限制IP访问的功能实现
  13. 浅析为什么char类型的范围是 —128~+127
  14. [android]netd与NetworkManagementService初印象
  15. Object调用静态方法
  16. HDU_2048——全错位排列递推公式
  17. asp.net实现UNIX 时间戳
  18. HDU 2841 Visible Trees(莫比乌斯反演)
  19. Ubuntu14.04下SP_Flash_Tool_exe_Linux无法烧录
  20. 对于 @Autowired注解和@service注解的理解

热门文章

  1. [PHP] 读取大文件并显示
  2. Android 手机卫士14--Widget窗口小部件AppWidgetProvider
  3. restful架构的理解
  4. Android:TextView 自动滚动(跑马灯) (转)
  5. mvc与三层结构终极区别
  6. ResponsiveSlides.js 幻灯片实例演示
  7. Ettercap中间人攻击--介绍
  8. Android 在内部存储读写文件
  9. JavaWeb开发必过关-Servlet学习(一)
  10. 【读书笔记】iOS-AppKit简介