大家帮我看看哪里出错了。
#include <stdio.h>#include <time.h>
#define N 9
static int a[N] [N];
static int b[N] [N];
viod setmine(int i,int j)
{
int n,i1,j1,ijinc[8][2]={-1,-1,-1,0,-1,-1,0,1,1,-1,1,0,1,1};
if(a[i][j]==9 return;
a[i][j]=9;
for(n=0;n<8;n++)
{
i1=i+ijinc[n][0];
j1=j+ijinc[n][1];
if(i1>=0&&i1<N&&>j1>=0&&a[i1][j1]<9) a[i1][j1]++;
}
}
void mark0(int i,int j)
{
int n,i1,j1,ijinc[8][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1};
if(a[i][j]==0&&b[i][j]==-1)
{
b[i][j]==a[i][j];
for(n=0;n<8;n++)
{
i1=i+ijinc[n][0];
j1=j+ijinc[n][1];
if(i1>0&&i1<N%%j1>=0&&j1<N) mark0(i1,j1);
}
}
else b[i][j]=a[i][j];
}
void list(int a[][N])
{
int i,j;
printf(" ");
for(i=1);i<=N;i++) printf("%2d",i);
printf("\n");
for(i=1;i<=N;i++)
{
printf("%2d",i);
for(j=1;j<=N;j++)
printf("%2d",a[i-1][j-1]);
printf("\n");
}
}
void init()
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
b[i][j]=-1;
}
int motok()
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(b[i][j]==-1) return 1;
return 0;
}
int mark()
{
int kind,i,j;
printf("操作类型;0——标记数字,1——标记地雷,2——取消地雷标记;\n");
scanf("%d",&kind);
printf("输入行,列号(1—N);\n");
scanf(%d%d,&i,&j);
i--; j--;
if(kind==0)
if(a[i][j]==9)
return 0;
else
if(a[i][j]==0) mark0(i,j);
else b[i][j]=a[i][j];
if(kind==1) b[i][j]=9;
if(kind==2) b[i][j]=-1;
return 1;
}
void main0()
int i,j,err=0;
do
{
if(!mark())
{
printf("你踩上雷了!");
return;
}
list(b);
}while(notok());
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(a[i][j]!=b[i][j]) err++;
if(err==0) printf("你胜利了!");
else printf("你标多了!");
}
viod randset()
{
int i,j,n;
srand((unsigned)time(0));
for(n=1;n<N;n++)
{
i=rand()%N;
j=rand()%N;
setmine(i,j);
}
}
main()
{
init();
list(b);
}