TC 下编译时出现Expression syntax in function main错误

此程序包含graphics.h类库,只能在TC下运行,希望高手能尽快改正错误,感激涕零!
程序代码为:


#include<stdio.h>
#include<graphics.h>
#include<math.h>
int tile=0;
int * * board;

int graph(int **board,int size)
{
 int i,j;
 int dx;
 int gdriver,gmode;
 gdriver=DETECT;
 initgraph(&gdriver,&gmode,"");
 setbkcolor(0);
 registerbgidriver(EGAVGA_driver);
 dx=300/size;
 for(i=0;i<size;i++)
 for(j=0;j<size;j++)
 {
  if(board[i][j]>0)
  {
   if(board[i][j]=board[i][j+1]=board[i+1][j])
   {
    setfillstyle(1,BLACK);
    bar(140+(j-1)*dx,90+(i-1)*dx,140+(j-1)*dx+dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx+dx,90+(i-1)*dx,140+(j-1)*dx+2*dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx,90+(i-1)*dx+dx,140+(j-1)*dx+dx,90+(i-1)*dx+2*dx);
    board[i][j]=-1;
    board[i][j+1]=-1;
    board[i+1][j]=-1;
   }
   else if(board[i][j]==board[i][j+1]&&board[i][j]==board[i+1][j+1])
   {
    setfillstyle(1,YELLOW);
    bar(140+(j-1)*dx,90+(i-1)*dx,140+(j-1)*dx+dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx+dx,90+(i-1)*dx,140+(j-1)*dx+2*dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx,90+(i-1)*dx+dx,140+(j-1)*dx+dx,90+(i-1)*dx+2*dx);
    board[i][j]=-1;
    board[i][j+1]=-1;
    board[i+1][j]=-1;
   }
   else if(board[i][j]==board[i+1][j]&&board[i][j]==board[i+1][j+1])
        {
    setfillstyle(1,BLUE);
    bar(140+(j-1)*dx,90+(i-1)*dx,140+(j-1)*dx+dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx+dx,90+(i-1)*dx,140+(j-1)*dx+2*dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx,90+(i-1)*dx+dx,140+(j-1)*dx+dx,90+(i-1)*dx+2*dx);
    board[i][j]=-1;
    board[i][j+1]=-1;
    board[i+1][j]=-1;
   }
   else if(board[i][j]==board[i+1][j]&&board[i][j]==board[i+1][j-1])
   {
    setfillstyle(1,BROWN);
    bar(140+(j-1)*dx,90+(i-1)*dx,140+(j-1)*dx+dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx+dx,90+(i-1)*dx,140+(j-1)*dx+2*dx,90+(i-1)*dx+dx);
    bar(140+(j-1)*dx,90+(i-1)*dx+dx,140+(j-1)*dx+dx,90+(i-1)*dx+2*dx);
    board[i][j]=-1;
    board[i][j+1]=-1;
    board[i+1][j]=-1;
   }
   else if(board[i][j]==0)
   {
           setfillstyle(1,WHITE);
     bar(140+(j-1)*dx,90+(i-1)*dx,140+(j-1)*dx+dx,90+(i-1)*dx+dx);
   }
   setcolor(BLACK);
   for(i=1;i<=size;i++)
    line(140,90+(i-1)*dx,440,90+(i-1)*dx);
   for(j=1;j<=size;j++)
    line(140+(j-1)*dx,90,140+(j-1)*dx,390);
   closegraph();
   return 0;
}
void chessboard(int tr,int tc,int dr,int dc,int size)
{
 int s,t;
 if(size==1)return;
 t=tile++;
 s=size/2;

 if((dr<tr+s)&&(dc<tc+s))
 chessboard(tr,tc,dr,dc,s);
 else
 {
  board[tr+s-1][tc+s-1]=t;
  chessboard(tr,tc,tr+s-1,tc+s-1,s);
 }

 if((dr<tr+s)&&(dc>=tc+s))
  chessboard(tr,tc+s,dr,dc,s);
 else
 {
  board[tr+s-1][tc+s]=t;
  chessboard(tr,tc+s,tr+s-1,tc+s,s);
 }

 if((dr>=tr+s)&&(dc<tc+s))
  chessboard(tr+s,tc,dr,dc,s);
 else
 {
  board[tr+s][tc+s-1]=t;
  chessboard(tr+s,tc,tr+s,tc+s-1,s);
 }

 if((dr>=tr+s)&&(dc>=tc+s))
  chessboard(tr+s,tc+s,dr,dc,s);
 else
 {
  board[tr+s][tc+s]=t;
  chessboard(tr+s,tc+s,tr+s,tc+s,s);
 }
}
void main()
{
 clrscr();
 int i,j;
 int tr,tc,dr,dc,size;
 printf("size=/n");
 scanf("%d",&size);
 board=malloc(size*sizeof(int*));
 for(i=0;i<size;i++)
  board[i]=malloc(size*sizeof(int));

 for(i=0;i<size;i++)
  for(j=0;j<size;j++)
   board[i][j]=0;
 printf("/n qingshuru tr,tc,dr,dc:/n");
 scanf("%d%d%d%d",&tr,&tc,&dr,&dc);
 chessboard(tr,tc,dr,dc,size);
 graph(board,size);
    return 0;
  }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值