#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赢 为什么最终无法输出结果 想知道原因 (目前才写了判断行列的代码)
(目前才只)
代码只在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获胜");
}
}