求助!这段哪里错了??
#include"stdio.h"#include"conio.h"
#include"math.h"
int n,k,a[20],num=0;
int attack(int k)
{
int flag=0;
int i=1;
while((i<k)&&(a[k]!=a)&&(fabs(a[k]-a)!=(k-i)))i++;
if(i==k)flag=1;
return flag;
}
void place(int k)
{
printf("%d",k);
int i;
if(k==n+1)
{
num=num+1;
printf("num=%d",num);
for(i=1;i<n+1;i++)
printf("%d",a);
printf("\n");
else
{
for(i=1;i<n+1;i++)
{a[k]=i;
if(attack(k)==1)
place(k+1);
else
a[k]=0;
}
}
}
}
main()
{
scanf("%d",&n);
k=1;
place(k);
if(k!=n+1)
printf("no sloution!\n");
getch();
}
郁闷。。我是找原文写的。。可是编译报错。。
帮我看下哪里出问题了。。
谢谢!!