易截截图软件、单文件、免安装、纯绿色、仅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");
}



/*下面


相关问答:

jsp中 <c:if test> 相关问题

在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
      fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......

两个C文件的问题

以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......

我很伤心,C即将被淘汰!

6月5日消息,XX网站日前评出了10项大势已去的计算机技术。其中,有些技术已经被淘汰,有些即将被淘汰。如著名的Cobol语言,以及IBM的OS/2系统。

  以下为XX网站评出的被淘汰的10项计算机技术:

   ......

使用C的高手请进

大家好!我是一位C爱好者,向大家请教下,C程序员可好找工作?公司用C干些什么?
无所谓好不好找工作,一般通信、系统、嵌入式、硬件方面用的多,而且由于C的底层特性,学会后在学其他的会比较容易

不管用什么语 ......

c中的转义字符问题

    '\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号