荔荔大魔王 2021-07-13 11:03 采纳率: 75%
浏览 8
已结题

为什么无法输出最终赢得结果

#include <stdio.h>
int main()
{
const int size=3;
int bord[size][size];
int O=0;
int X=0;
int i;
int j;
//int return=-1;//-1代表都没赢,1代表X赢,0代表O赢;
//读取井子棋最终结果;
for(i=0;i<size;i++){
for(j=0;j<size;j++){
scanf("%d",&bord[i][j]);
//读取每一格内的结果,我们把1认为X,把0认为O;
}
}
//检查行;
{
for(i=0;i<size;i++){
for(j=0;j<size;j++){
if(bord[i][j]==1){
X++;
}else{
O++;
}
}
}
if(X==size){
printf("恭喜X获胜");
}
if(O==size){
printf("恭喜O获胜");
}
}
{
for(j=0;j<size ;j++){
for(i=0;i<size;i++){
if(bord[i][j]==1){
X++;
}else{
O++;
}
}
}
if(X==size){
printf("恭喜X获胜");
}
if(O==size){
printf("恭喜O获胜");
}
}
return 0;
}
想用这个代码来 输入井字棋的结果 并判断结果是X赢还是O赢 为什么最终无法输出结果 想知道原因 (目前才写了判断行列的代码)
(目前才只)

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-07-13 11:08
    关注

    代码只在X==size或者O==size时才输出,你输入值的时候如果这两个条件都不满足,就不会输出。

    而且下面的代码写了两遍(是否有必要?):
    {
    for(j=0;j<size ;j++){
    for(i=0;i<size;i++){
    if(bord[i][j]==1){
    X++;
    }else{
    O++;
    }
    }
    }
    if(X==size){
    printf("恭喜X获胜");
    }
    if(O==size){
    printf("恭喜O获胜");
    }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 7月13日