2D配列をcで出力するにはどうすればよいですかユーザー入力にscanfを使用し、grid [] []と呼ばれる配列とforループを使用しますか?
ユーザーが3 5と入力すると、出力は次のようになります。
.....
.....
.....
これが私がこれまでに書いたコードです(初心者はこちら):
#include <stdio.h>
#define MAX 10
int main()
{
int grid[MAX][MAX];
int row, col;
int i,j;
printf("Please enter your grid size: ");
scanf("%d %d", &row, &col);
for (i=0; i<MAX; i++)
for //i gave up here
}
これは私の仕事の全段階のほんの一部です:
Enter number of rows and columns followed by list of words (hit enter twice to end list): 10 15
quick
brown
fox
jumped
over
lazy
dog
00 . . . . . . . . . . . . . . .
01 . . . . . . . . . . . . . . .
02 . . . . . . . . . . . . . . .
03 . . . . . . . . . . . . . . .
04 . . . . . . . . . . . . . . .
05 . . . . . . . . . . . . . . .
06 . . . . . . . . . . . . . . .
07 . . . . . . . . . . . . . . .
08 . . . . . . . . . . . . . . .
09 . . . . . . . . . . . . . . .
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0. quick
1. brown
2. fox
3. jumped
4. over
5. lazy
6. dog
許可され、コードに含める必要がある関数:文字列関数-strlen()、strcpy()、strcat()、strchr()、strcmp()、strstr()
2D配列を使用する必要があります
単語にはfgetsを使用する必要があります。出力は正確な形式と一致する必要があります。
これは役に立ちますか?
#include <stdio.h>
#define MAX 10
int main()
{
char grid[MAX][MAX];
int i,j,row,col;
printf("Please enter your grid size: ");
scanf("%d %d", &row, &col);
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
grid[i][j] = '.';
printf("%c ", grid[i][j]);
}
printf("\n");
}
return 0;
}
...
for(int i=0;i<3;i++){ //Rows
for(int j=0;j<5;j++){ //Cols
printf("%<...>\t",var);
}
printf("\n");
}
...
<...>がd、e、f、s、c ...などのデータ型であることを考慮して... X)
最初に、おそらくargcとargvを使用して、num_rowsとnum_columnsの2つの数値を入力する必要があります。次に、forループを実行してドットを出力します。
int j=0;
int k=0;
for (k=0;k<num_columns;k++){
for (j=0;j<num_rows;j++){
printf(".");
}
printf("\n");
}
ドットを後で別のものに置き換える必要があります。