求用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写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?
1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......
6月5日消息,XX网站日前评出了10项大势已去的计算机技术。其中,有些技术已经被淘汰,有些即将被淘汰。如著名的Cobol语言,以及IBM的OS/2系统。
以下为XX网站评出的被淘汰的10项计算机技术:
......
#include <stdio.h>
main()
{
int a,b,sum;
a=1;b=2;
sum=a+b;
printf("sum is %d\n");
}
结果是:2367460
为什么?
printf("sum is %d\n", ......
//C 接口
extern "C"
{
TESSDLL_API int __cdecl GetTessText(const char *imagefile, char *text);
}
//我在C#中声明
//调用C DLL 中的函数
[DllImport("OCRapi.dll&quo ......
/* Note:Your choice is C IDE
作用: 随机数加密法,,,,
以下有许多不懂,请教一下,请主意代码;
*/
#include <stdio.h>
#include <stdlib.h>
union
{
int value;
struct
{
c ......