コードのポイントは、ユーザーが設定した寸法の2次元配列を作成することです。幅と高さの入力が求められたら、ユーザーはchar
の値を2D配列の各位置に配置する必要があります。 int
:(int mat、int value)で実装した場合、アルゴリズムは正常に動作しますが、char(char mat、char value)で実装しようとすると、出力は整数バージョンと一致しません。唯一の変更は、配列と値の型とscanf/printf("%d")
をscanf/printf("%c)
に設定することです。任意の方法で、この2D配列をcharで実装できますか?Cで2次元配列にcharを埋め込む方法は?
#include <stdio.h>
int main() {
int width;
int height;
printf("Enter col and row values between 2 and 20.\n");
scanf("%d %d", &width, &height);
printf("The numbers you typed was %d %d\n", width, height);
char mat[height][width];
int i;
int j;
char value;
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
printf("Enter your value.\n");
scanf("%c", &value);
mat[i][j] = value;
}
}
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
printf("%c", mat[i][j]);
}
printf("\n");
}
return 0;
}
また、 'scanf("%c "、...)'を使用してください。しかし、それはもちろん、空白文字が実際に挿入されるのを防ぐためです。 – twalberg
'do' /' while'ループは偽です。代わりに 'scanf("%* [\ r \ n] ");で保留中の改行を無視し、' value = ''で文字を読み取ることができます。 scanf( "%c"、&value); ' – chqrlie