fork download
  1. #include <stdio.h>
  2. void print_board(int board[][3]); /*プロトタイプ宣言*/
  3. void mark_board(int board[][3],int turn);
  4.  
  5.  
  6. /* main関数の中も少し変えてありますチェックしてみてください */
  7. int main(void){
  8. int board[3][3]={0};/*0で初期化*/
  9. int turn;
  10. printf("どちらのターンですか?□:0 , x:1を入力:");
  11. scanf("%d" , &turn);
  12. mark_board(board , turn);
  13. return 0;
  14. }
  15.  
  16.  
  17. void print_board(int board[][3]){
  18. int i,j;
  19. for(i=0;i<3;i++){
  20. printf("|");
  21. for(j=0;j<3;j++){
  22. switch(board[i][j]){
  23. case 0:
  24. printf(" ");
  25. break;
  26. case 1:
  27.  
  28. printf("○");
  29. break;
  30. case -1:
  31. printf("×");
  32. break;
  33. }
  34. printf("|");
  35. }
  36. printf("\n");
  37. }
  38. }
  39.  
  40.  
  41. /* 以下修正しました*/
  42. void mark_board(int board[][3],int turn){
  43. int i , j , x;
  44. /* turn=0; ?? */
  45. for(x=0;x<3;x++){
  46. if(!turn%2){
  47. printf("□のターンです\n");
  48. printf("縦位置は?\n");
  49. scanf("%d",&i);
  50. printf("横位置は?\n");
  51. scanf("%d",&j);
  52. board[i][j]=1;
  53. print_board(board);
  54. turn = 1;
  55. } else {
  56. printf("xのターンです\n");
  57. printf("縦位置は?\n");
  58. scanf("%d",&i);
  59. printf("横位置は?\n");
  60. scanf("%d",&j);
  61. board[i][j]=-1;
  62. print_board(board);
  63. turn = 0;
  64. }
  65. }
  66. }
  67.  
Success #stdin #stdout 0s 4296KB
stdin
Standard input is empty
stdout
どちらのターンですか?□:0 , x:1を入力:xのターンです
縦位置は?
横位置は?
|×| | |
| | | |
| | | |
□のターンです
縦位置は?
横位置は?
|○| | |
| | | |
| | | |
xのターンです
縦位置は?
横位置は?
|×| | |
| | | |
| | | |