C语言五子棋程序求大神帮忙纠正一下错误

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void drawqipan(char Q[][20] ) //绘制棋盘及数据初始化
int i,j, xx,yy,x,y;
{
int i,j, xx,yy,x,y;
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
Q[i][j]=0;
printf("十");
}
printf("\n");
}
xx=0;yy=0; //程序数据初始化
goto xy(0,0);
}
void jilu() //记录落子情况
{
Q[x][y]=player+1;
if(player)
{
player=0; //玩家变换
return;
}
player=1;
}

int cluozi(int x,int y) //由电脑落子时调用
{
xx=x;yy=y;
gotoxy(xx,yy);
if(Q[xx][yy]==0) //判断当前位置是否已经落子
{
jilu();
printf("○");
gotoxy(xx,yy);
}
}

void luozi() //玩家落子
{
if(Q[xx][yy]==0) //判断当前位置是否已经落子
{
if(player)
{
jilu();
printf("●");
}
else
{
jilu();
printf("○");
}
gotoxy(xx,yy);
}
}

int checkWin() //检查游戏是否有输赢
{
int p;
int r,c,rr,cc,count=0;
p=player==0?2:1;
for(c=0;c<20;c++)
{
for(r=0;r<20;r++)
{
if(Q[r][c]!=p)
continue;
//检查列
rr=r;cc=c;
while(--cc>=0 &&Q[rr][cc]==p)count++; cc=c;
while(++cc<20 &&Q[rr][cc]==p)count++; cc=c;
if(count+1>=5)
return p;
//检查行
count=0;
while(--rr>=0 &&Q[rr][cc]==p)count++; rr=r;
while(++rr<20 &&Q[rr][cc]==p)count++; rr=r;
if(count+1>=5)
return p;
//检查反斜边
count=0;
cc--;rr--;
while((cc>=0||rr>=0) &&Q[rr][cc]==p){count++;cc--;rr--;} rr=r;cc=c;
cc++;rr++;
while((cc<20||rr<20) &&Q[rr][cc]==p){count++;cc++;rr++;} rr=r;cc=c;
if(count+1>=5)
return p;
count=0;
//检查正斜边
count=0;
cc++;rr--;
while((cc<20||rr>=0) &&Q[rr][cc]==p){count++;cc++;rr--;} rr=r;cc=c;
cc--;rr++;
while((cc>=0||rr<20) &&Q[rr][cc]==p){count++;cc--;rr++;} rr=r;cc=c;
if(count+1>=5)
return p;
count=0;
}
}
主要是想知道正确的头文件是什么,因为头文件是我随便写的
下面的内容应该没有错误

第1个回答  2018-12-03
这都是正确的没有错误呀
相似回答