前提・実現したいこと
三目並べのプログラムで1で〇、0で無表示、-1で×をそれぞれのマスに表示したいが、実行すると一列目だけ一つ多く読み込みが必要になる。
C
1 for(i=0; i<N; i++){ 2 printf("~%d列目\n",i+1); 3 for(j=0; j<N; j++){ 4 scanf("%d\n",& board[i][j]); 5 }
の文のどこかが間違っているのだろうと思いますが、どうも間違っているようには思えません。
教えていただけると嬉しいです。
実行
~1列目
1
0
1
0
~2列目
1
0
1
~3列目
0
1
0
0 1 2
0[o][ ][o]
1[ ][o][ ]
2[o][ ][o]
ソースコード
C
1#include <stdio.h> 2 3#define N 3 4 5int main(){ 6 int i, j, num; 7 int board[N][N]; 8 for(i=0; i<N; i++){ 9 for(j=0; j<N; j++){ 10 board[i][j]=0; 11 } 12 } 13 for(i=0; i<N; i++){ 14 printf("~%d列目\n",i+1); 15 for(j=0; j<N; j++){ 16 scanf("%d\n",& board[i][j]); 17 } 18 } 19 for(num=0; num<N; num++){ 20 if(num==0) printf(" "); 21 printf(" %d ",num); 22 } 23 printf("\n"); 24 for(i=0; i<N; i++){ 25 for(j=0; j<N; j++){ 26 if(j== 0) printf("%d",i); 27 28 if(board[i][j]== 1) printf("[o]"); 29 else if(board[i][j]== -1) printf("[x]"); 30 else if(board[i][j]== 0) printf("[ ]"); 31 } 32 printf("\n"); 33 } 34}
同じような話.参考に.
https://teratail.com/questions/287261
ありがとうございます。参考にさせていただきます。
回答1件
あなたの回答
tips
プレビュー