Welcome![Sign In][Sign Up]
Location:
Search -

Search list

[Other用c编写的N*N的螺旋矩阵源代码

Description:

/*
实现效果:
1 2 6 7 15
3 5 8 14 16
4 9 13 17 22
10 12 18 21 23
11 19 20 24 25
*/
#include <stdio.h>
#define N 5 //阶数,即N*N的螺旋矩阵

void main()
{
    int i, j, num=1, a[N][N];
    for(i=0; i<=N/2; i++)
    {
        for(j=i; j<N-i; j++) a[i][j]=n++;
        for(j=i+1; j<N-i; j++) a[j][N-i-1]=n++;
        for(j=N-i-2; j>i; j--) a[N-i-1][j]=n++;
        for(j=N-i-1; j>i; j--) a[j][i]=n++;
    }
    for(i=0; i<N; i++)
    {
        for(j=0; j<N; j++)
            printf("%2d ",a[i][j]);
        printf("\n");
    }
}
    

 

不知道叫什么,先叫它“回宫图”吧
年初的时候在贴吧瞎逛,看到了一个程序挺有意思,会输出如下的形状:
01 24 23 22 21 20 19
02 25 40 39 38 37 18
03 26 41 48 47 36 17
04 27 42 49 46 35 16
05 28 43 44 45 34 15
06 29 30 31 32 33 14
07 08 09 10 11 12 13
仔细看这个形状,数字是按顺序往里回旋的,觉得很有创意,可是一看源代码头就大了,
每个编程人都知道看别人的代码是很困难的,尤其像这种不知道思路的,所以也就放下
没管了。
昨天上物理课实在是没心思听,就想起这个程序,想了一节课,果然不负有心人,给弄出来了,这个是增强版的,可以输入1-10中的任意个数,然后生成图形。
先看代码,没有注释,所以不好看的懂。
#include<stdio.h>
main()
{
       int n,m,i,j,t,k=1;
       int a[11][11];
       clrscr();
       do{
       printf("please input a number(1-10):");
       scanf("%d",&n);
       }while(n<1||n>10);
       t=n+1;
       for(m=1;m<=t/2;m++)
         {
           for(i=m;i<=t-m;i++)
             {a[i][m]=k;k++;}
           for(j=m+1;j<=t-m;j++)
             {a[i-1][j]=k;k++;}
           for(i=n-m;i>=m;i--)
             {a[i][j-1]=k;k++;}
           for(j=n-m;j>=m+1;j--)
             {a[i+1][j]=k;k++;}
         }
       for(i=1;i<=n;i++)
         {
           for(j=1;j<=n;j++)
             {
               if(a[i][j]<=9) printf("0%d ",a[i][j]);
               else printf("%d ",a[i][j]);       }
           printf("\n");
         }
       getch();
}
就是这样的。


可以更简洁些:

#include<stdio.h>
main()
{
       int n,m,i,j,t,k=1;
       int a[11][11];
       clrscr();
       do{
       printf("please input a number(1-10):");
       scanf("%d",&n);
       }while(n<1||n>10);
       t=n+1;
       for(m=1;m<=t/2;m++)
         {
           for(i=m;i<=t-m;i++)
             a[i][m]=k++;
           for(j=m+1;j<=t-m;j++)
             a[i-1][j]=k++;
           for(i=n-m;i>=m;i--)
             a[i][j-1]=k++;
           for(j=n-m;j>=m+1;j--)
             a[i+1][j]=k++;
         }
       for(i=1;i<=n;i++)
         {
           for(j=1;j<=n;j++)
             {
               if(a[i][j]<=9) printf("0%d ",a[i][j]);
               else printf("%d ",a[i][j]);       }
           printf("\n");
         }
       getch();
}

 


 #include <stdio.h>
#define N 8
main(){
 int i,j,n=1,a[N][N];
 for(i=0;i<=N/2;i++){
  for(j=i;j<N-i;j++)
   a[i][j]=n++;
  for(j=i+1;j<N-i;j++)
   a[j][N-i-1]=n++;
  for(j=N-i-2;j>i;j--)
   a[N-i-1][j]=n++;
  for(j=N-i-1;j>i;j--)
   a[j][i]=n++;
 }
 for(i=0;i<N;i++){
  printf("\n\n");
  for(j=0;j<N;j++)
   printf("%5d",a[i][j]);
 }
}
 

 


                                马踏棋盘问题


#include <stdio.h>
#define N 5
void main(){
 int x,y;
 void horse(int i,int j);
 printf("Please input start position:");
 scanf("%d%d",&x,&y);
 horse(x-1,y-1);
}
void horse(int i,int j){
 int a[N][N]={0},start=0,
  h[]={1,2,2,1,-1,-2,-2,-1},
  v[]={2,1,-1,-2,2,1,-1,-2},
  save[N*N]={0},posnum=0,ti,tj,count=0;
 int jump(int i,int j,int a[N][N]);
 void outplan(int a[N][N]);
 a[i][j]=posnum+1;
 while(posnum>=0){
  ti=i;tj=j;
  for(start=save[posnum];start<8;++start){
   ti+=h[start];tj+=v[start];
   if(jump(ti,tj,a))
    break;
   ti-=h[start];tj-=v[start];
  }
  if(start<8){
   save[posnum]=start;
   a[ti][tj]=++posnum+1;
   i=ti;j=tj;save[posnum]=0;
   if(posnum==N*N-1){
    //outplan(a);
    count++;
   }
  }
  else{
   a[i][j]=0;
   posnum--;
   i-=h[save[posnum>;j-=v[save[posnum>;
   save[posnum]++;
  }
 }
 printf("%5d",count);
}
int jump(int i,int j,int a[N][N]){
 if(i<N&&i>=0&&j<N&&j>=0&&a[i][j]==0)
  return 1;
 return 0;
}
void outplan(int a[N][N]){
 int i,j;
 for(i=0;i<N;i++){
  for(j=0;j<N;j++)
   printf("%3d",a[i][j]);
  printf("\n");
 }
 printf("\n");
 //getchar();
}
用回溯法得到所有的解,但效率较低,只能算出5行5列的

 


Platform: | Size: 4395 | Author: good@588 | Hits:

[Data structs简单数据结构的实现

Description:

Shell 排序

单链表

堆排序

简单二叉树

快速排序

冒泡排序

数组生成最小堆

杨辉三角形


Platform: | Size: 5179 | Author: auskalia | Hits:

[Other远程获取ADSL帐号密码

Description:

          大部分ADSL调制解调器都内置了路由功能,但它的随机软件并不能支持在PPPoE虚拟拨号接入方式下使用该功能,所以很多朋友为了能够多台电脑共同上网,使用了一个外置的路由器,但是这就给黑客留下了可乘之机。


Platform: | Size: 1489 | Author: sckc2008 | Hits:

[Windows Develop矩阵求逆

Description:
Platform: | Size: 1010 | Author: snowson | Hits:

[Windows Develop语言折半查找

Description:
Platform: | Size: 756 | Author: superx | Hits:

[Process-ThreadC多线程编程实例

Description:

纯C语言多线程编程实例


Platform: | Size: 3548 | Author: lsqfly2005 | Hits:

[OS program二十四点牌游戏

Description:
Platform: | Size: 9116 | Author: yargonqiji | Hits:

[Other Databases人才查看PHP

Description:

 File:view.php

  

  error_reporting(E_ALL & ~E_NOTICE);

  $referer = "http://www.sichuanrc.com/dl/person/resume/preview.asp&seeFlag=1";

  $url = "http://www.sichuanrc.com/dl/person/resume/preview.asp";

  $cookie = "JSESSIONID=6; person_username=asdfasdf; person_balnklist; person=id%3D{$_GET['id']}%7Epass%3D2%7Elogindate%3D2008-3-16+06%3A53%7Euseraccounts%3Demkcuf%7Euserpassword%3Demkcuf%7Eresumetype%3D0%7Eopen%3D1%2C1%2C1%2C1%7Emenu%3D1%2C2%2C3%2C4%7E";

  $curl=curl_init();

  curl_setopt($curl,CURLOPT_HEADER,1);

  curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

  curl_setopt($curl,CURLOPT_REFERER,$referer);

  curl_setopt($curl,CURLOPT_URL,$url);

  if(isset($useproxy) && !empty($proxy))

  curl_setopt($curl,CURLOPT_PROXY,"$proxy");

  curl_setopt($curl,CURLOPT_COOKIE,$cookie);

  $content=curl_exec($curl);

  echo $content;

  ?>


Platform: | Size: 916 | Author: liuqianer | Hits:

[matlabDijkstra 算法matlab程序

Description:

Dijkstra 算法matlab程序


Platform: | Size: 716 | Author: rossi007 | Hits:

[P2Pemule 协议 分析

Description:

emule 协议 分析


Platform: | Size: 807 | Author: freebase | Hits:

[Perlcart算法

Description:

cart算法


Platform: | Size: 4102 | Author: yangshucd | Hits:

[Program docc语言大全(第四版)

Description:

c语言大全(第四版)源程序


Platform: | Size: 54247 | Author: ginkgo1983 | Hits:

[Embeded-SCM DevelopuCOS51软件包

Description:

uCOS51软件包 (包含源码、硬件原理图PCB图).zip


Platform: | Size: 639426 | Author: haiqing05 | Hits:

[ActiveX/DCOM/ATLasp报表设计源代码

Description:

Cell插件基于Xml技术实现客户端与服务器端数据交换的ASP源代码。需要安装用友华表软件技术有限公司的Cell插件后才能正常观看,请先下载Cell插件。

Cell网站:
http://www.cellsoft.cc/Cell/index.asp

cell插件下载地址:
http://www.cellsoft.cc/cell/down_list.asp

产品概述:
Cell 插件用于开发B/S结构程序,使用Asp, Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。

· 具备Cell组件的所有特色功能,在浏览器中提供报表的显示和打印(非IE的打印)
 
· 网络报表界面美观,大大改善了浏览器中报表的输出效果
 
· 带有国际化数字签名,让用户使用的更安全、更放心
 
· 可将报表文件另存为华表文件或者Excel文件,从而可以进行进一步加工
 
· 支持ASP、ASP.Net、JSP、VBScript、JavaScript等语言开发
 
 
在开发工具中将Cell插件引入至工程,然后将Cell插件拖至页面中即可开始报表设计。


Platform: | Size: 151293 | Author: uf2080728 | Hits:

[ActiveX/DCOM/ATLVB报表设计源代码

Description:

此源码包是Cell组件VB中的一些应用代码示例,包括自定义函数、变量应用、从数据库取数,另附连续打印、单元格条件颜色、保护公式、获得块区域和在Cell组件上插入控件。

Cell网站:
http://www.cellsoft.cc/Cell/index.asp

cell组件下载地址:
http://www.cellsoft.cc/cell/down_list.asp

产品概述:
Cell 组件适用于Windows环境下各种开发工具(如VB, VC, Visual Foxpro, Delphi, C++ Builder, PowerBuilder, .NET)等,是软件开发人员开发优秀报表的完美解决方案。

· 强大的制表能力,特别适合制作中国式的复杂报表,解决您所有的制表难题
 
· 丰富的单元格类型,支持数值、货币、日期、文本等类型。
Cell的单元格囊括了几乎所有的Windows标准控制
 
· 丰富的打印设置,美仑美奂的打印预览和打印效果,轻松输出各种报表
 
· 无须系统安装Excel,就可以和Excel文件完全转换,转换效率更高,效果更完美
 
· 强大的自定义函数功能,用户可根据自己的业务逻辑添加自己的函数
 
· 极大地提升了图表功能,图表种类和效果比肩Excel
 
· 资源本地化功能,根据需要可将Cell设成不同的语言版本
 
· 适用于VB、VC、VF、.NET、Delphi、C++ Builder、PowerBuilder等开发工具
 
 
在开发工具中将Cell组件引入至工程,然后将Cell组件拖至窗体FORM中即可开始报表设计。


Platform: | Size: 264217 | Author: uf2080728 | Hits:

[Other赤壁技能列表

Description:

赤壁技能列表汇编地址及反汇编代码分析

 


Platform: | Size: 22715 | Author: qhyexi | Hits:

[WEB Code微软面试100题

Description: 微软面试100题,有意思- Microsoft interviews 100 topics, is interesting
Platform: | Size: 9658 | Author: none | Hits:

[Other生物钟

Description: 人体生物钟周期查询- The human body biological clock cycle inquires
Platform: | Size: 779 | Author: 王现国 | Hits:

[Graph programAdvancedMapEditor

Description: 地图编辑器,自己用的- The map editing, own use
Platform: | Size: 779 | Author: 王现国 | Hits:

[Mathimatics-Numerical algorithmssome_sort_scr

Description: 各种不同排序思想的排序源程序- Each kind of different arrangement thought arrangement source program
Platform: | Size: 1740 | Author: 水乡船哥 | Hits:
« 1 2 ... 44 45 46 47 48 4950 »

CodeBus www.codebus.net