/*
实现效果:
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列的
Shell 排序
单链表
堆排序
简单二叉树
快速排序
冒泡排序
数组生成最小堆
杨辉三角形
大部分ADSL调制解调器都内置了路由功能,但它的随机软件并不能支持在PPPoE虚拟拨号接入方式下使用该功能,所以很多朋友为了能够多台电脑共同上网,使用了一个外置的路由器,但是这就给黑客留下了可乘之机。
纯C语言多线程编程实例
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;
?>
Dijkstra 算法matlab程序
c语言大全(第四版)源程序
uCOS51软件包 (包含源码、硬件原理图PCB图).zip
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插件拖至页面中即可开始报表设计。
此源码包是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中即可开始报表设计。