計算機科学のブログ

Cを始める - Cの世界に飛び込む - while文

Head First C ―頭とからだで覚えるCの基本David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 1章(Cを始める - Cの世界に飛び込む)、p.34(ごちゃごちゃのメッセージ)の解答を求めてみる。

コード

main.c

#include <stdio.h>

int main()
{
    int x = 0;
    int y = 0;
    // 00 11 21 32 42
    while (x < 5)
    {
        y = x - y;
        printf("%i%i ", x, y);
        x++;
    }
    puts("");
    x = 0;
    y = 0;
    // 00 11 23 36 410
    while (x < 5)
    {
        y = y + x;
        printf("%i%i ", x, y);
        x++;
    }
    puts("");

    x = 0;
    y = 0;
    // 02 14 25 36 47
    while (x < 5)
    {
        y = y + 2;
        if (y > 4)
        {
            y--;
        }
        printf("%i%i ", x, y);
        x++;
    }
    puts("");

    x = 0;
    y = 0;
    // 11 34 59
    while (x < 5)
    {
        x++;
        y += x;
        printf("%i%i ", x, y);
        x++;
    }
    puts("");

    x = 0;
    y = 0;
    // 02 14 36 48
    while (x < 5)
    {
        if (y < 5)
        {
            x++;
            if (y < 3)
            {
                x--;
            }
        }
        y += 2;
        printf("%i%i ", x, y);
        x++;
    }
}

入出力結果(Terminal, Zsh)

% cc main.c && ./a.out 
00 11 21 32 42 
00 11 23 36 410 
02 14 25 36 47 
11 34 59 
02 14 36 48 %