幻方....

article/2025/10/19 0:53:35

c语言上机。。。。

c写的幻方。

  1 /*************************************************************************
  2     > File Name: code/class/7.c
  3     > Author: 111qqz
  4     > Email: rkz2013@126.com 
  5     > Created Time: 2015年11月11日 星期三 19时31分50秒
  6  ************************************************************************/
  7 
  8 #include<stdio.h>
  9 #include <string.h>
 10 
 11 int n;
 12 int a[105][105];
 13 
 14 
 15 void swap(int *a,int *b)
 16 {
 17     int tmp;
 18     tmp = *a;
 19     *a = *b;
 20     *b = tmp;
 21 }
 22 int fix_x( int x,int k,int n)
 23 {
 24     if (k%2==1)
 25     {
 26     if (x==0)
 27         return n;
 28     else return x;
 29     }
 30     else
 31     {
 32     if (x==n)
 33         return n+n;
 34     else return x;
 35     }
 36 }
 37 int fix_y ( int y,int k,int n)
 38 {
 39     if (k<3)
 40     {
 41     if (y==n+1)
 42         return 1;
 43     else return y;
 44     }
 45     else
 46     {
 47     if (y==2*n+1)
 48         return n+1;
 49     else return y;
 50     }
 51  //   if (y==n+1)
 52  //   return 1;
 53   //  else return y;
 54 }
 55 void print()
 56 {
 57     for ( int i = 1 ; i <= n ; i++)
 58     {
 59     for ( int j = 1 ; j <= n ; j++)
 60         printf("%d  ",a[i][j]);
 61 
 62     printf("\n");
 63     }
 64     
 65 }
 66 
 67 void OddMagic(int n,int x,int y,int k) //k表示4中状态。。。。
 68 {
 69     
 70     int cur ;
 71     if (k==1) cur = 1;
 72     if (k==4) cur = n*n+1;
 73     if (k==3) cur = n*n*2+1;
 74     if (k==2) cur = n*n*3+1;
 75     int cnt = 1;
 76     while (cnt<=n*n)
 77     {
 78     a[x][y]=cur;
 79     int prex = x;
 80     int prey = y;
 81     cur++;
 82     cnt++;
 83     x--;
 84     y++;
 85     x = fix_x(x,k,n);
 86     y = fix_y(y,k,n);
 87     if (a[x][y])
 88     {
 89         x = prex+1;
 90         y = prey;
 91     }
 92 
 93     }
 94 
 95 }
 96 int main()
 97 {
 98     memset(a,sizeof(a),0);
 99     scanf("%d",&n);
100     if (n%2==1)
101     {
102     int x = 1;
103     int y = n/2+1;
104     OddMagic(n,x,y,1);
105     }
106     else
107     {
108     if (n%4==0)
109     {
110         for ( int i = 1,num=1 ; i <= n ; i++)
111         for ( int j  = 1 ; j <= n  ; j++,num++)
112             a[i][j]=num;
113         
114         
115         for ( int i = 1 ; i <= n ; i++)
116         {
117         for ( int j = 1 ; j <= n ; j++)
118         {
119            if (i==j||i+j>=n+1) continue;
120             int tmp;
121             tmp = a[i][j];
122             a[i][j] = a[n+1-i][n+1-j];
123             a[n+1-i][n+1-j] = tmp;
124         }
125         }
126     }
127     else
128     {
129         int x = 1;
130         int y = n/4+1;
131         int hn = n/2;
132 
133         OddMagic(hn,x,y,1);
134         OddMagic(hn,x+hn,y,2);
135         OddMagic(hn,x,y+hn,3);
136         OddMagic(hn,x+hn,y+hn,4);
137 
138         int  m = n/4;
139         for ( int i = 1 ; i <= hn ;i++)
140         {
141         for ( int j = 1 ; j <= m ; j++)
142         {
143             int tmp;
144             if (i==m+1&&j==m)
145             {
146             tmp = a[m+1][m+1];
147             a[m+1][m+1] = a[m+1+hn][m+1];
148             a[m+1+hn][m+1] = tmp;
149             continue;
150 
151             }
152             tmp = a[i][j];
153             a[i][j] = a[i+hn][j];
154             a[i+hn][j] = tmp;
155           //  swap(a[i][j],a[i+n][j]);
156         }
157         }
158 
159         for ( int i = 1 ; i <= hn ; i++)
160         {
161         for ( int j = n ; j>=n-m+2 ; j--)
162         {
163             int tmp;
164             tmp = a[i][j];
165             a[i][j] = a[i+hn][j];
166             a[i+hn][j] = tmp;
167         }
168         }
169         
170 
171 
172 
173     }
174     }
175     print();
176 
177 }
View Code

 

转载于:https://www.cnblogs.com/111qqz/p/4957327.html


http://chatgpt.dhexx.cn/article/A2pBV97c.shtml

相关文章

Unity脚本生命周期流程图

转载自【无幻】&#xff1a;http://blog.csdn.net/akof1314/article/details/39323081 渲染 OnPreCull: 在相机剔除场景之前调用此函数。相机可见的对象取决于剔除。OnPreCull 函数调用发生在剔除之前。 OnBecameVisible/OnBecameInvisible: 在对象对于相机可见/不可见时调用此…

SonicUI在MFC中的使用

SonicUI是一个GUI引擎&#xff0c;提供了一些简单的UI组件实现高效率的UI效果&#xff0c;例如&#xff1a;自绘按钮、异形窗体、动画、超链接和图像操作方法。此项目作者开源到CodeProject&#xff0c;地址为&#xff1a;http://www.codeproject.com/KB/GDI/SonicUI.aspx。下载…

将ribbon主题应用到对话框中去(转载)

原帖地址&#xff1a;这里 找了N久&#xff0c;终于在无幻大神这里找到了将ribbon sdi主题应用到对话框程序中的方法&#xff0c;好像这是一个开源的项目&#xff0c;google code里有,地址在 这里。记录下&#xff1a; 1、下载网页里的资源KofPack0.1&#xff0c;vs里打开工程…

如何制作一个横版格斗过关游戏 Cocos2d-x 2.0.4

本文原创版权归 csdn 无幻 所有&#xff0c;转载请详细标明原创作者及出处&#xff0c;以示尊重&#xff01; 作者&#xff1a;无幻 原文&#xff1a;http://blog.csdn.net/akof1314/article/details/8549150 本文实践自 Allen Tan 的文章《How To Make A Side-Scrolling Bea…

VC复制HTML格式到剪贴板 HTML Clipboard Format

本文作者&#xff1a;无幻 测试环境&#xff1a;Windows 7 开发环境&#xff1a;Visual Studio 2008 SP1 参照MSDN和帮助&#xff0c;在VC下测试代码如下&#xff1a; C语言: BOOL CBaseDialogDlg::CopyHtmlToClip( const CString &strHtml ) { // 1)转换成UTF-8 CW2A p…

如何制作一个横版格斗过关游戏(2) Cocos2d-x 2.0.4 .

本文原创版权归 csdn 无幻 所有&#xff0c;转载请详细标明原创作者及出处&#xff0c;以示尊重&#xff01; 作者&#xff1a;无幻 原文&#xff1a;http://blog.csdn.net/akof1314/article/details/8572546 在第一篇《如何制作一个横版格斗过关游戏》基础上&#xff0c;增加…

Cocos2d-x 2.0.1 学习tests示例(二)ActionsTest

作者&#xff1a;无幻 博客&#xff1a; http://blog.csdn.net/akof1314 初学Cocos2d-x&#xff0c;如文章有错误之处&#xff0c;欢迎指出 自上篇《 Cocos2d-x 2.0.1 学习tests示例&#xff08;一&#xff09;Manual Transformation》继续学习tests示例。 1 2 3 4 5 6 7 8 9…

改变CMFCRibbonBar高度

本文作者&#xff1a;无幻 测试环境&#xff1a;Windows XP 开发环境&#xff1a;Visual Studio 2010 要改变CMFCRibbonBar的高度&#xff0c;需要重载CalcFixedLayout函数&#xff0c;例如如下&#xff1a; 头文件&#xff1a; #pragma once// // CKofMFCRibbonQuickAccessTo…

Cocos2d-x 2.0.1 学习tests示例(一)Manual Transformation

作者&#xff1a;无幻 博客&#xff1a; http://blog.csdn.net/akof1314 初学Cocos2d-x&#xff0c;如文章有错误之处&#xff0c;欢迎指出 从上次《Cocos2d-x 2.0 从HelloWorld入手》&#xff0c;继续学习tests示例。 1.右键点击“Solution ‘cocos2d-win32.vc2008’"&…

Unity3d好东西应该被看见_分享一个Assetbundle分析工具

关于Assetbundle分析 很多年前获得过搜狐畅玩的代码 不确定是不是腾讯流出版本&#xff0c;反正经历了深圳畅玩&#xff0c;到北京畅玩。 整个中国地图&#xff0c;从南到北&#xff0c;成熟的Unity手游团队&#xff0c;手上几乎都是那一份ASSETBUNDLE处理代码 功能太多&am…

Visual C++ 2008 Feature Pack 示例截图

Visual C 2008 Feature Pack 示例截图 by 无幻 百度文库&#xff1a;http://wenku.baidu.com/view/f09e5575a417866fb84a8eb6.html 豆丁文档&#xff1a;http://www.docin.com/p-55873972.html CSDN下载&#xff1a;http://download.csdn.net/source/2380293 动态图片显示…

CRichEditCtrlEx支持静态表情聊天类的使用

本文作者&#xff1a;无幻 博客地址&#xff1a;http://blog.csdn.net/akof1314 平时我们在做IM聊天之类的软件的时候&#xff0c;一般都会使用Rich Edit控件来作为聊天编辑框和聊天记录框的控件&#xff0c;在之前的VC知识库看过《类似 MSN 信息发送框的制作(上)》、《类似 MS…

方舟服务器文件夹,方舟生存进化文件夹里哪个才是打开游戏 | 手游网游页游攻略大全...

发布时间&#xff1a;2016-04-07 有许多玩家反映在方舟生存进化当中自己在洞穴里只能挖到石头,挖不到水晶,这是怎么回事呢?接下来小编就为大家带来方舟生存进化在洞穴里怎么才能采集到水晶的详细攻略. 答:用铁镐挖才能采集到水晶,用石镐就只能采到石头,希望能帮到 ... 标签&am…

【VC学习】VC2010 Windows Media Player控件的使用技巧

声明&#xff1a;以下博客基于无幻 VC2008 Windows Media Player控件的使用技巧&#xff0c;自行学习整理 附上原地址&#xff1a;http://blog.csdn.net/akof1314/article/details/4900040 本是跟着老师选修课学习&#xff0c;编程都是基于MFC&#xff0c;手动在toolbox里面修…

真Unity3d_分享一个编辑器扩展模型预览视图Mesh Preview Inspector窗口

预览窗口 在 Unity 编辑器界面上可以看到除了 Game 视图、Scene 视图,其他的视图也会出现绘制三维物体的地方,比如检视器的预览窗口,当选中网格时,会对网格进行预览,如下所示: 预览窗口是UnityEditor的底层框架 UnityEditor框架图 可看我之前的博客: https://blog.c…

lookup

这里注意数组 1.{ sum((E3:E11)*(F3*F11) )} 代表数组运算ctrlentershift&#xff0c;因为(E3:E11)*(F3*F11)返回的是数组 2. sum(E3:E11)其中E3:E11也是数组但是直接enter就可以‘ 为什么&#xff1a;因为(E3:E11)是本来就存在的列&#xff0c;(E3:E11)*(F3*F11)是运算出来…

access Dlookup的值写入表

目的 写入供应商名称&#xff0c;自动弹出供应商代码&#xff0c;然后将该条记录增加到表中 方法 在供应商名称的属性表写&#xff0c;不是供应商代码的属性表 在事件过程中写入- Private Sub 供应商名称_AfterUpdate() Me.供应商代码.Value DLookup(“供应商代码”, “Q_…

access-vba之用户登录窗口

界面截图如下: 创建一个窗体设计,然后在设计中找到控件 因为科室更新,带来了用户的更新,所有用户的行来源不指定,但科室的行来源要指定 最后,我们通过VBA实现用户的行来源,这样可以保证在科室变化的情况下,用户实时显示每个科室的人员 Private Sub keshi_AfterUpdate(…

Excel函数公式大全—LOOKUP函数

EXCEL系列文章目录 Excel系列文章是本人亲身经历职场之后萌发的想法&#xff0c;为什么Excel覆盖如此之广&#xff0c;几乎每个公司、学校、家庭都在使用&#xff0c;但是它深藏的宝藏功能却很少被人使用&#xff0c;PQ、BI这些功能同样适用于数据分析&#xff1b;并且在一些需…

Dev的searchLookUpEdit

新添加的searchLookUpEdit的Text属性值为[EditValue is null]&#xff0c;并且无法直接通过修改Text属性来修改&#xff0c;而是可以通过修改它的Properties.NullText属性来修改&#xff0c;比如将该属性赋值为空&#xff0c;则为如下效果&#xff1a; searchLookUpEdit1.Prop…