请求帮我解释C语言
答案:1 悬赏:10 手机版
解决时间 2021-02-16 21:15
- 提问者网友:却不属于对方
- 2021-02-16 10:21
请求帮我解释C语言
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-02-16 10:36
#include
#include
void graph();
void chooseONE();
void chooseTWO();
void FiveRow();
void FiveColumn();
void FiveSlope();
int arr[100][100]={0};
int row=0;
int col=0;
int i=0;
int j=0;
int m=0,n=0;
int ro=0,co=0;
int time=0;
int fico=0,firo=0;
int five=0;
int fi=0;
int out=0;
int main(void)
{
printf("请输入你想要的棋盘大小 5~20\n");
printf(" 直的需要几个\n");
scanf("%d",&j);
printf("横的需要几个\n");
scanf("%d",&i);
//防呆
while
(i<5||i>20||j>20||j<5)
{
printf("输入错误请重新输入\n");
printf(" 直的需要几个\n");
scanf("%d",&j);
printf("横的需要几个\n");
scanf("%d",&i);
}
graph();//生成棋盘
while(out!=1)
{
time++;
if(time%2!=0)
{
chooseONE();//确定一方走棋
}
else
chooseTWO();
graph();//更新棋盘
FiveRow();//判断是否行上是否有满足结束的条件出现
FiveColumn();//判断是否列上是否有满足结束的条件出现
}
system("pause");
return 0;
}
void graph()
{
for(row=1;row<=i;row++)
{
for(col=1;col<=j;col++)
{
if(arr[row][col]==1)
printf("%c ",01);//棋手1的下棋步骤
if(arr[row][col]==2)
printf("%c ",02);//棋手2的下棋步骤
if(arr[row][col]==0)
printf("o ");//未被棋子占的位置
}
printf("\n");
}
}
void chooseONE()
{
printf("第一玩家请选择下棋位置\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
while(arr[ro][co]==1||arr[ro][co]==2)
{
printf("重复了!!!\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
}
arr[ro][co]=1;
}
void chooseTWO()
{
printf("第二玩家请选择下棋位置\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
if(arr[ro][co]==1||arr[ro][co]==2)
{
printf("重复了!!!\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
}
arr[ro][co]=2;
}
void FiveRow()
{
for(col=1;col<=i;col++)
{
if(arr[ro][col]==1&&arr[ro][col+1]==1&&arr[ro][col+2]==1&&arr[ro][col+3]==1&&arr[ro][col+4]==1)
{
out=1;
printf("\n five \n");
break;
}
if(arr[ro][col]==2&&arr[ro][col+1]==2&&arr[ro][col+2]==2&&arr[ro][col+3]==2&&arr[ro][col+4]==2)
{
out=1;
printf("\n five \n");
break;
}
}
}
void FiveColumn()
{
for(row=1;row<=i;row++)
{
if(arr[row][co]==1&&arr[row+1][co]==1&&arr[row+2][co]==1&&arr[row+3][co]==1&&arr[row+4][co]==1)
{
out=1;
printf("\n five \n");
break;
}
if(arr[row][co]==2&&arr[row+1][co]==2&&arr[row+2][co]==2&&arr[row+3][co]==2&&arr[row+4][co]==2)
{
out=1;
printf("\n five \n");
break;
}
}
}
#include
void graph();
void chooseONE();
void chooseTWO();
void FiveRow();
void FiveColumn();
void FiveSlope();
int arr[100][100]={0};
int row=0;
int col=0;
int i=0;
int j=0;
int m=0,n=0;
int ro=0,co=0;
int time=0;
int fico=0,firo=0;
int five=0;
int fi=0;
int out=0;
int main(void)
{
printf("请输入你想要的棋盘大小 5~20\n");
printf(" 直的需要几个\n");
scanf("%d",&j);
printf("横的需要几个\n");
scanf("%d",&i);
//防呆
while
(i<5||i>20||j>20||j<5)
{
printf("输入错误请重新输入\n");
printf(" 直的需要几个\n");
scanf("%d",&j);
printf("横的需要几个\n");
scanf("%d",&i);
}
graph();//生成棋盘
while(out!=1)
{
time++;
if(time%2!=0)
{
chooseONE();//确定一方走棋
}
else
chooseTWO();
graph();//更新棋盘
FiveRow();//判断是否行上是否有满足结束的条件出现
FiveColumn();//判断是否列上是否有满足结束的条件出现
}
system("pause");
return 0;
}
void graph()
{
for(row=1;row<=i;row++)
{
for(col=1;col<=j;col++)
{
if(arr[row][col]==1)
printf("%c ",01);//棋手1的下棋步骤
if(arr[row][col]==2)
printf("%c ",02);//棋手2的下棋步骤
if(arr[row][col]==0)
printf("o ");//未被棋子占的位置
}
printf("\n");
}
}
void chooseONE()
{
printf("第一玩家请选择下棋位置\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
while(arr[ro][co]==1||arr[ro][co]==2)
{
printf("重复了!!!\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
}
arr[ro][co]=1;
}
void chooseTWO()
{
printf("第二玩家请选择下棋位置\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
if(arr[ro][co]==1||arr[ro][co]==2)
{
printf("重复了!!!\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
}
arr[ro][co]=2;
}
void FiveRow()
{
for(col=1;col<=i;col++)
{
if(arr[ro][col]==1&&arr[ro][col+1]==1&&arr[ro][col+2]==1&&arr[ro][col+3]==1&&arr[ro][col+4]==1)
{
out=1;
printf("\n five \n");
break;
}
if(arr[ro][col]==2&&arr[ro][col+1]==2&&arr[ro][col+2]==2&&arr[ro][col+3]==2&&arr[ro][col+4]==2)
{
out=1;
printf("\n five \n");
break;
}
}
}
void FiveColumn()
{
for(row=1;row<=i;row++)
{
if(arr[row][co]==1&&arr[row+1][co]==1&&arr[row+2][co]==1&&arr[row+3][co]==1&&arr[row+4][co]==1)
{
out=1;
printf("\n five \n");
break;
}
if(arr[row][co]==2&&arr[row+1][co]==2&&arr[row+2][co]==2&&arr[row+3][co]==2&&arr[row+4][co]==2)
{
out=1;
printf("\n five \n");
break;
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯