[11a2] 完全2分木の配列表現1

コマンド引数から正の整数n(100未満)を読み込み、整数配列の先頭から n要素に完全2分木の配列表現で「根は1」「左の子は親+2」「右の子は 親の値の3倍」となるように設定した後、添字0〜n-1を書き出すプログ ラムを作成せよ。書き出す時は書式文字列「" %d"」を用い、最後に改 行を出力すること。使用しないdefineを含めないこと。

記号列 

コード 

選択肢

ア #include <stdio.h>
イ #include <stdlib.h>
ウ #define L(i) (2*i+1)
エ #define P(i) ((i-1)/2)
オ #define R(i) (2*i+2)
カ int main(int argc, char *argv[]) {
キ }
ク return 0;
ケ for(i = 0; i < n; ++i) {
コ for(i = 1; i < n; ++i) {
サ for(i = 0; L(i) < n; ++i) {
シ for(i = 1; L(i) < n; ++i) {
ス printf(" %d", a[i]);
セ printf("\n");
ソ int a[100], i, n = atoi(argv[1]);
タ a[0] = 1;
チ a[L(i)] = a[i] + 1;
ツ a[L(i)] = a[i] * 2;
テ a[L(i)] = a[i] + 2;
ト a[R(i)] = a[i] * 3;
ナ a[R(i)] = a[i] + 3;

選択肢の行をドラグして上のコード領域に配置してください。 コード領域の行はドラグにより位置が変更できます。 削除したい場合は選択肢の領域に戻してください。