問題。C/C++風のいくつかのブロックが配列として与えられる。ブロックは次のいずれかのコードである。
1) 式;
2) 式; goto ブロック番号;
3) 式1; if (式2) goto ブロック番号;
4) return;

1)は式を実行して次のブロックに進む。
2)は式を実行してブロック番号のブロックに移動する。
3)は式1を実行して式2が正ならブロック番号のブロックに移動する。
4)は実行を終了する。
ブロック番号はブロック番号におけるインデックスである。
式はf(), g(1, 2), h(3)のいずれかである。
これらのブロックをC言語のif, if-else, while, do-whileを使って書き直せ。可能ならインデントも行うこと。