应该改为:#include
#include
#define max 9//棋子数及棋盘大小max*max
int a[max];
/* 打印棋盘 */
int m=1;
void Print(int a[])
{
int i, j;
printf("这是第%d种情况",m);
for(i=0;i<=max;i++)
{
for(j=0;j<=max;j++)
if(j==a[i])
printf("@");
else
printf("*");
}
printf("\n\n");
m++;
}
int Judge(int k,int a[])//判断同一行,列,主负对角线上有无棋子
{
int i;
for(i=0;i
}
return 0;
}
/* 放置皇后 */
void backtrack(int t,int a[])
{
int i;
for(i=0;i
if(!Judge(t,a)){
if(t==max-1) Print(a);
else backtrack(t+1,a);
}
}
}
int main()
{
backtrack(0,a);
return 0;
}
#include
#include
#define MAX 8 /* 棋子数及棋盘大小MAXxMAX */
int board[MAX];
/* 印出结果 */
void show_result()
{
int i;
for(i=0;i
printf("\n");
}
/* 检查是否在同一直横斜线上有其它棋子 */
int check_cross(int n)
{
int i;
for(i=0;i
}
return 0;
}
/* 放棋子到棋盘上 */
void put_chess(int n)
{
int i;
for(i=0;i
if(!check_cross(n)){
if(n==MAX-1) show_result();/* 找到其中一种放法了...印出结果 */
else put_chess(n+1);
}
}
}
void main()
{
clrscr();
puts("The possible placements are:");
put_chess(0);
puts("\n Press any key to quit...");
getch();
return;
}
到底是哪些奇葩老师布置的作业?
求采纳为满意回答。