当前位置:  技术问答>linux和unix

两道关于C语言的编程问题,自己有点思路,但是不知何处下手编写代码,请高手帮忙~

    来源: 互联网  发布时间:2016-03-08

    本文导语:  1   填魔方矩阵,矩阵如图所示 若n=5,则矩阵如下: 17 24  1   8   15 23 5   7   14  16 4 6   13  20  22 10 12  19  21  3 11 18  25  2   9 规则如下:n只能为奇数,则1的位置位于第一行中间,下一个数位于...

1   填魔方矩阵,矩阵如图所示
若n=5,则矩阵如下:
17 24  1   8   15
23 5   7   14  16
4 6   13  20  22
10 12  19  21  3
11 18  25  2   9
规则如下:n只能为奇数,则1的位置位于第一行中间,下一个数位于当前数的右上角,若超出行列范围,则循环进入下一行、列,当计数达到n的倍数时,下一个数位于当前数的正下方。

2  有0-9十个山洞,一只狼从第0个山洞开始寻找兔子。第一次隔一个山洞,第二次隔两个,第三次隔三个,第n次隔n个山洞,问最后有哪几个山洞没被狼找过?

下面这个只能是说是我想的第一题的算法,具体实现偶的基础实在是不好,找书也没有找到,拜托高手了
#include 
main()
{
int i,k,l,n;
int u[k][l];
printf("输入一个正整数");
scanf("%d",&n);
for(i=1;i2,n阶幻方都存在。
目前填写幻方的方法,是把幻方分成了三类,每类又有各种各样的填写方法
本算法来自:http://blog.csdn.net/northwolves/archive/2007/09/23/1796696.aspx

---------------------------------------------------------------------*/
#include "stdafx.h"
#include
int get_n();                                                      //读入阶数
int Odd_Construct(int,int*,int  =1);                              //构造奇数阶
int Bi_Even_Construct(int,int*);                                 //构造双偶阶
int Bi_Even_Construct_init(int  ,int * );                     //双偶阶初始化
int Bi_Even_Construct_Switch(int  ,int *  );                  //双偶阶对调对角线

int init_quadrant_ABCD(int  ,int  *);                        //初始化各象限元素
int Swap_A_C(int n,int*  ,int*  );                           //交换A,C象限
int Swap_B_D(int n,int*  ,int*  ) ;                           //交换B,D象限
void swap_no(int*  ,int * );                                  //交换一个元素
int  copy_quadrants_to_magic(int n,int* magic,
int* sub_magic_A,int* sub_magic_B,int* sub_magic_C,int* sub_magic_D);
                                                              //把ABCD各象限合并到magic
int Single_Even_Construct(int,int*);                             //构造单偶阶
int init_magic(int,int*);                                        //初始化幻方
int print_magic(int,int*);                                       //打印幻方

 
/**----------------------------------------------------------------------
主程序
-------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{

int n;
                                                      
     n=get_n();                                                           //读入阶数n

 int s=n*(n*n+1)/2;                                                   //计算幻和
 printf("nS= %d",s);

    int* magic=new int[n*n] ;                                             //magic存n阶幻方,是整型指针,指向数组头
   
init_magic(n,magic);                                                  //将所有值初始化为0

if( n%2 == 1 ){
Odd_Construct(n,magic );                                         //构造奇数阶幻方  
}else{
if( n%4 == 0 ){

Bi_Even_Construct(n,magic );                                 //构造双偶阶4k
}else{
Single_Even_Construct(n,magic );                             //单偶阶4k+2
}
}
     print_magic(n,magic );                                              //打印幻方

 if(magic!=NULL){                                                      //释放幻方内存
delete[] magic;
magic = NULL;
 }
return 0;
}
/**--------------------------------
-读入阶数n,这里限制 n是为了n在一屏 显示下,其实可以增大之
---------------------------------*/
int get_n(){
     int n;
 do{
  printf("请输入幻方阶数n

    
 
 

您可能感兴趣的文章:

  • 操作系统一般是用什么语言编写的
  • 如何在linux下用c语言编写文本界面,不是在x-window下
  • linux 里面编写c语言用什么软件好用啊?
  • 如何在我的C语言编写的程序里面执行命令行命令,比如ls -la ??
  • Linux启动过程到哪个阶段之后的源代码全是C语言而不是汇编写的?
  • 我是一个linux新手,不知道如何在linux进行C语言的编写和使用?
  • Linux下如何用C语言编写命令行下的菜单
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写.
  • .net/c#/asp.net iis7站长之家
  • 请教:想用c语言编写能使浏览器启动的一个程序?
  • 各位老大,如果网页有大量的数据要发送给服务器,用什么语言编写好呢?
  • 在Linux上用C语言编写的函数里面申请了一块内存,并且返回这块内存,最终它需要释放吗?
  • C语言编写的软件要运行在Linux上是不是也要开源啊?
  • 哭求在linux下用c语言编写的ftp上传文件的源代码!
  • Linux下用c语言编写输入密码程序
  • 怎样用c或c++语言编写一个程序定时访问某个网站,并登录?
  • 关于editplus的使用,编译完生成.class后,我又编写了html来执行applet,将其保存,如何经ie解释打开(直接在editplus上操作)不是显示html语言呀
  • linux 桌面应用程序和web应用程序编写常用的语言
  • 菜鸟问题:在linux下,c语言编写程序,要连接openoffice.org base作为数据库!
  • 在LINUX下怎样编写C++语言?(新手在线等待)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求C语言做聊天服务器思路
  • 求linux上用c语言控制步进电机程序思路
  • C语言对堆排序一个算法思路和实现代码
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 动态编程语言 LIME编程语言
  • c语言实现MD5算法完整代码示例
  • C语言如何改变当前语言环境
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • c语言基于libpcap实现一个抓包程序过程
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • HTML超文本标记语言教程及实例
  • Redhat9安装时语言只选择了中文,现在还能再增加其它语言的支持吗?如英文
  • MD5算法的C语言实现
  • 请问哪里有ubuntu 9.0版本的中文语言包和KDE的中文语言包下载,我用Google搜索了很多地方都没有!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3