易截截图软件、单文件、免安装、纯绿色、仅160KB

求用C写八皇后程序的代码

各位,如何用C语言写一个八皇后的程序啊 有知道的还请赐教 谢谢
在清华的数据结构书有这东东!太久忘了!

C/C++ code:
#include<stdio.h>
#include<math.h>
#define N 8
int x[N+1];
int count=0;

void output(int i);

int IsSetPlace(int k)
{
int i=1;
while(i<k)
{
if((x[i]==x[k]) | (abs(x[i]-x[k])==abs(i-k) ) )
return 0;
i++;
}
return 1;
}

void N_QUEENS(int n)
{
int i,k;
x[1]=0;
k=1;
while(k>0)
{
x[k]++;
while( (x[k]<=n) && (IsSetPlace(k)==0) )
x[k]++;

if(x[k]<=n)
{
if(k==n)
{
count++;
for(i=1;i<N+1;i++)
{

output(i);
}
printf("\n");
}
else
{
k++;
x[k]=0;
}
}
else
k--;
}
}

void main()
{
N_QUEENS(N);
printf("结果数目为:%d\n",count);
}

void output(int i)
{
int a[N][N];
int j;
for(j=0;j<N;j++)
{
if(j==x[i]-1)
a[i-1][j]=1;
else
a[i-1][j]=0;
}
for(j=0;j<N;j++)
printf("%d ",a[i-1][j]);
printf("\n");
}



/*下面


相关问答:

c/c++每条指令和函数的执行时间是多少?

想知道每条指令或函数的系统消耗。比如系统执行int a=0;的开销是多少。有没有类似的文档之类的。不要和我说用什么clock()函数来测试。我想要相关总结好的文档
先反汇编,然后拿着cpu的指令手册查每条指令的时间周期 ......

c中的转义字符问题

    '\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......

C中的一些小问题。。。

/* Note:Your choice is C IDE

作用: 随机数加密法,,,,
以下有许多不懂,请教一下,请主意代码;
*/
#include <stdio.h>
#include <stdlib.h>
union
{
int value;
struct
{
c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号