/* * prog08.c --- while による繰り返しと if 文による分岐 (場合わけ) * コンパイルには、たとえば gcc -o prog08 prog08.c */ /* * ある条件が満たされている間、文を繰り返し実行するために、while がある。 * * while (条件式) * 文; * * 条件式を作るためには、例えば以下のような比較演算子が使える。 * * == (等しい), != (等しくない), * < (小さい), <= (以下≦) * > (大きい), >= (以上≧) * * 条件式が成り立っているかどうかで、次に何を実行するか、場合わけをする * ために、if という命令がある。 * * (1) if (条件式) 文; * * (2) if (条件式) * 文1; * else * 文2; */ /* * 与えられた自然数が偶数ならば 2 で割り、そうでなければ 3 倍して 1 を * 加えるという操作を繰り返すと、最後には必ず 1 になる、らしい。 * このことを実験するプログラム。 */ #include int main() { int n; printf(" 自然数を入力してください: "); scanf("%d", &n); while (n != 1) { printf("%d\n", n); if (n % 2 == 0) n = n / 2; else n = 3 * n + 1; } printf("%d\n", n); return 0; }