源程序
天下维客,你可以修改的网络知识库
- include <stdio.h>
int print(int a[8]) { int i, j; for (i = 0; i < 8; i++) { for (j = 0; j < 7; j++) if(a[i]==j) printf("* "); else if(a[i]!=j) printf(". "); while(j==7){ if(a[i]==j) printf("*"); else if(a[i]!=j) printf("."); break; } printf("\n"); } return 0; }
int step(int a[8], int n, int c)
{
int i, k;
for (k = 0; k <8; k++)
{
for (i = 0; i < n; i++)
if (a[i] == k || a[i] + i == k + n || a[i] - i == k - n)
break;
if (i == n)
{
a[n] = k;
if (n == 7) {
printf("%d\n", ++c);
print(a);
}
else
c = step(a, n + 1, c);
}
}
return c;
}
int main(void) { int a[8] = {0}; step(a, 0, 0); return 0; }


