- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/配列/練習問題の解答例 へ行く。
- 1 (2016-12-09 (金) 00:00:46)
問題文はこちら。
09A-01 配列の宣言(難易度★) †
int main(void) { int a[5]; a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; a[4] = 5; printf("%d\n", a[0]); return 0; }
09A-02 要素へのアクセス(難易度★) †
int main(void) { int a[3]; a[0] = 10; a[1] = 20; a[2] = 30; printf("%d\n", a[2]); return 0; }
インデックス番号は 0 から始まるので、最後の要素のインデックス番号は要素数より1小さい数です。
09A-03 すべての要素へのアクセス(難易度★) †
int main(void) { int a[4], i ; a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; for (i = 0; i < 4; i++) { printf("%d\n", a[i]); } return 0; }
09A-04 配列の初期化(難易度★) †
int main(void) { int a[] = {10, 20, 30}; printf("%d\n", a[0]); return 0; }
要素数を指定しないで配列を初期化すると、指定したリストの長さが配列の要素数になります。
別解 †
int main(void) { int a[3] = {10, 20, 30}; printf("%d\n", a[0]); return 0; }
要素数を指定して配列を初期化することもできますが、指定したリストの長さより小さい要素数を指定することはできません。
指定したリストの長さより大きい要素数を指定したときは、残りの要素に0が代入されます。
09A-05 配列の要素数(難易度★) †
int main(void) { int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; int len; len = sizeof(a) / sizeof(a[0]); printf("%d\n", len); return 0; }
09A-06 配列のコピー(難易度★) †
int main(void) { int a[] = {1, 2, 3, 4}; int b[4]; int i; for (i = 0; i < 4; i++) { b[i] = a[i]; } printf("%d\n", b[0]); return 0; }
09A-07 配列の比較(難易度★) †
int main(void) { int a[3] = {1, 2, 3}, b[3] = {1, 3, 5}; if (a[0] == b[0] && a[1] == b[1] && a[2] == b[2]) { printf("等しい\n"); } else { printf("等しくない\n"); } return 0; }
09A-08 二次元配列(難易度★) †
int main(void) { int a[2][3]; a[0][0] = 10; a[0][1] = 20; a[0][2] = 30; a[1][0] = 40; a[1][1] = 50; a[1][2] = 60; return 0; }
09A-09 二次元配列のすべての要素へのアクセス(難易度★) †
int main(void) { int a[3][2], sum; int i ,j; a[0][0] = 1; a[0][1] = 2; a[1][0] = 3; a[1][1] = 4; a[2][0] = 5; a[2][1] = 6; sum = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { sum += a[i][j]; } } printf("%d\n", sum); return 0; }
09A-10 二次元配列の初期化(難易度★) †
int main(void) { int a[][2] = { {1, 2}, {3 ,4}, {5, 6} }; printf("%d\n", a[2][1]); return 0; }
二次元を配列を初期化するときは、先頭の要素数だけ省略できます。
別解 †
int main(void) { int a[3][2] = { {1, 2}, {3 ,4}, {5, 6} }; printf("%d\n", a[2][1]); return 0; }