请大虾帮手调试!
#include<stdio.h>
#include<stdib.h>
char matrix[3][3];
char check(void);
void init_matrix(void);
void get_player_move(void);
void get_comprter_move(void);
void disp_matrix(void);
int main(void)
{
char done;
printf("This is game of Tic Tac Toe.");
printf("You will be playing against the computer.\n");
done=' ';
init_matrix();
do{
disp_matrix();
get_player_move();
done=check();
if(done!=' ')break;
get_computer_move();
done=check();
}while(done==' ');
if(done=='X')printf(You won!\n");
else printf("I won!!!!!!\n");
disp_matrix();
return 0;
}
void init_matrix(void)
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)matrix[i][j]=' ';
}
void get_play_move(void)
{
int x,y;
printf("Enter X,Y coordinates for your move:");
scanf("%d%*c%d",&x,&y);
x--;y--;
if(matrix[x][y]!=' '){
printf("Invalid move,try again.\n");
get_player_move();
}
else matrix[x][y]='X';
}
void get_computer_move(void)
{
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++)
if(matrix[i][j]==' ')break;
if(matrix[i][j]==' ')break;
}
if(i*j==9){
printf(draw\n");
exit(0);
}
else
matrix[i][j]='0';
}
void disp_matrix(void)
{
int t;
for(t=0;t<3;t++){
printf("%c|%c|%c",matrix[t][0],
matrix[t][1],matrix[t][2]);
if(t!=2)printf("n---|---|---\n");
}
printf("\n");
}
char check(void)
{
int i;
for(i=0;i<3;i++)
if(matrix[i][0]==matrix[i][1]&&matrix[i][0]==matrix[i][2]) return matrix[i][0];
for(i=0;i<3;i++)
if(matrix[0][i]==matrix[1][i]&&matrix[0][i]==matrix[2][i]) return matrix[0][i];
if(matrix[0][0]==matrix[1][1]&&matrix[1][1]==matrix[2][2])
return matrix[0][0];
if(matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0])
return matrix[0][2];
return ' ';
}
随便告诉我在什么环境下运算比较好!我自己运算时却出错!(很急!)
问题点数:100、回复次数:10Top
1 楼daopp(投身欲海吧,淫荡生涯开始了)回复于 2003-02-02 03:37:26 得分 5
我用了vc6.0试了试
说找不到stdib.h
关注~
Top
2 楼zhaozhencn(FlyingDonkey)回复于 2003-02-02 09:27:49 得分 10
应该是
#include"stdlib.h"
Top
3 楼xdspower(杂食菜熊)回复于 2003-02-02 09:44:48 得分 10
#include<stdib.h>
应该为
#include<stdlib.h>Top
4 楼micropentium6(小笨|曾经的美好)回复于 2003-02-02 10:38:44 得分 0
upTop
5 楼chinaYz(若缺)回复于 2003-02-02 11:03:34 得分 10
c语言可以用VC编译??????????????
用TC吧。
至于头文件看帮助就行了
Top
6 楼Polarislee(北极星)(无房无车,飘在北京)回复于 2003-02-02 12:51:01 得分 5
c语言可以用VC编译??????????????
有什么不可以?Top
7 楼matthew6868(xy)回复于 2003-02-02 14:35:46 得分 10
哈哈,这么巧,这个程序我也运行过,是从《C语言大全第四版》上的把,上次我是在TC2.0下运行的,能行的。Top
8 楼lkmouse(鼠标)回复于 2003-02-03 23:03:57 得分 0
c语言可不可以在VC中运行?或者在C++Builder?Top
9 楼prf8(机关报)回复于 2003-02-04 00:36:52 得分 25
vc通过
。
#include<stdio.h>
#include<stdlib.h>
char matrix[3][3];
char check(void);
void init_matrix(void);
void get_player_move(void);
void get_computer_move(void);//r -- u
void disp_matrix(void);
int main(void)
{
char done;
printf("This is game of Tic Tac Toe.");
printf("You will be playing against the computer.\n");
done=' ';
init_matrix();
do{
disp_matrix();
get_player_move();
done=check();
if(done!=' ')break;
get_computer_move();
done=check();
}while(done==' ');
if(done=='X')printf("You won!\n");//少"
else printf("I won!!!!!!\n");
disp_matrix();
return 0;
}
void init_matrix(void)
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)matrix[i][j]=' ';
}
void get_player_move(void)//少er
{
int x,y;
printf("Enter X,Y coordinates for your move:");
scanf("%d%*c%d",&x,&y);
x--;y--;
if(matrix[x][y]!=' '){
printf("Invalid move,try again.\n");
get_player_move();
}
else matrix[x][y]='X';
}
void get_computer_move(void)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
if(matrix[i][j]==' ')break;
if(matrix[i][j]==' ')break;
}
if(i*j==9)
{
printf("draw\n");
exit(0);
}
else
matrix[i][j]='0';
}
void disp_matrix(void)
{
int t;
for(t=0;t<3;t++){
printf("%c|%c|%c",matrix[t][0],
matrix[t][1],matrix[t][2]);
if(t!=2)printf("n---|---|---\n");
}
printf("\n");
}
char check(void)
{
int i;
for(i=0;i<3;i++)
if(matrix[i][0]==matrix[i][1]&&matrix[i][0]==matrix[i][2]) return matrix[i][0];
for(i=0;i<3;i++)
if(matrix[0][i]==matrix[1][i]&&matrix[0][i]==matrix[2][i]) return matrix[0][i];
if(matrix[0][0]==matrix[1][1]&&matrix[1][1]==matrix[2][2])
return matrix[0][0];
if(matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0])
return matrix[0][2];
return ' ';
}
Top
10 楼Frank001(Frank)回复于 2003-02-04 00:46:14 得分 25
C语言当然可以在VC里编译,呵呵,下面的代码可以通过编译。楼主的错误是一些拼写错误和一些地方少了“ " ”。
#include<stdio.h> //在VC下,这两句可以改为 #include<iostream>
#include<stdlib.h> //
char matrix[3][3];
char check(void);
void init_matrix(void);
void get_player_move(void);
void get_computer_move(void);
void disp_matrix(void);
int main(void)
{
char done;
printf("This is game of Tic Tac Toe.");
printf("You will be playing against the computer.\n");
done=' ';
init_matrix();
do{
disp_matrix();
get_player_move();
done=check();
if(done!=' ')
break;
get_computer_move();
done=check();
}while(done==' ');
if(done=='X')printf("You won!\n");
else printf("I won!!!!!!\n");
disp_matrix();
return 0;
}
void init_matrix(void)
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)matrix[i][j]=' ';
}
void get_play_move(void)
{
int x,y;
printf("Enter X,Y coordinates for your move:");
scanf("%d%*c%d",&x,&y);
x--;y--;
if(matrix[x][y]!=' '){
printf("Invalid move,try again.\n");
get_player_move();
}
else matrix[x][y]='X';
}
void get_computer_move(void)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
if(matrix[i][j]==' ')break;
if(matrix[i][j]==' ')break;
}
if(i*j==9)
{
printf("draw\n");
exit(0);
}
else
matrix[i][j]='0';
}
void disp_matrix(void)
{
int t;
for(t=0;t<3;t++){
printf("%c|%c|%c",matrix[t][0],
matrix[t][1],matrix[t][2]);
if(t!=2)printf("n---|---|---\n");
}
printf("\n");
}
char check(void)
{
int i;
for(i=0;i<3;i++)
if(matrix[i][0]==matrix[i][1]&&matrix[i][0]==matrix[i][2]) return matrix[i][0];
for(i=0;i<3;i++)
if(matrix[0][i]==matrix[1][i]&&matrix[0][i]==matrix[2][i]) return matrix[0][i];
if(matrix[0][0]==matrix[1][1]&&matrix[1][1]==matrix[2][2])
return matrix[0][0];
if(matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0])
return matrix[0][2];
return ' ';
}
Top




