C语言菜鸟求救!!

来源:百度知道 编辑:UC知道 时间:2024/06/27 14:31:37
编写了一个程序解N后问题,但是运行的时候有一个错误,怎么都看不懂

我所写的是:void queen(int x[],int n,int t)
提示上说:Expression syntax in function queen2

这是什么意思啊?应该怎么改程序就能运行了呢?

拜托拜托````谢谢了
那要怎么改啊?
谢了!
#include "math.h"
int sum=0;
int place (int x[],int t);
void queen (int x[],int n,int t);
void queen2 (int x[],int n);
void main()
{
int x[8],t;
sum=0;
queen(x,8,0);
printf("%d\n",sum);
sum=0;
queen2(x,8);
printf("2:%d\n",sum);
}
void queen (int x[],int n)
{
int t=0,i;
x[t]=-1;
while (t>-1)
{
x[t]+=1;
while (x[t]<-1 && place (x,t)==0) x[t]+=1
if (x[t]<n)
{
sum++;
t--;
}
else
{
t++;
x[t]=-1;
}
}
void queen (int x[],int n,int t)
{
int i,j;
if (t>=n)
{
sum++;
return;
}
for(i=0;i<n;i++)
{
x[t]=i;
if(plac

意思是说你的函数queen2里面,表达式出现语法错误。你要把你的代码贴出来别人才知道怎么改阿!

我不知道你的程序要做什么。不过里面全是语法错误。要么漏了;,要不就缺了括号{,下面是改过的,现在可以运行了,但是我不知道是不是你要的结果。

#include <math.h>
#include <stdio.h>

int sum=0;
int place (int x[],int t);
void queen (int x[],int n,int t);
void queen2 (int x[],int n);

void main()
{
int x[8],t;
sum=0;
queen(x,8,0);
printf("%d\n",sum);
sum=0;
queen2(x,8);
printf("2:%d\n",sum);
}

void queen2 (int x[],int n)
{
int t=0,i;
x[t]=-1;
while (t>-1)
{
x[t]+=1;
while (x[t]<-1 && place (x,t)==0) x[t]+=1;
if (x[t]<n)
{
sum++;
t--;
}
else
{
t++;
x[t]=-1;
}
}
}

void queen (int x[],int n,int t)
{
int i,j;
if (t >= n)
{
sum++;
return;
}
for(i=0;i<n;i++)