2013年4月2日火曜日

開発環境

プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第1章(やさしい入門)、1.5(文字入出力)、1.5.2(文字のカウント)、1.5.3(行数のカウント)の演習 1-8、1-9、1-10を解いてみる。

その他参考書籍

演習 1-8.

コード

sample.c

#include <stdio.h>

main()
{
    int c, nb, nt, nl;
    nb = nt = nl = 0;
    while ((c = getchar()) != EOF) {
        if (c == ' ')
            ++nb;
        else if (c == '\t')
            ++nt;
        else if (c == '\n')
            ++nl;
    }
    printf("blank:%d tab:%d newline:%d\n", nb, nt, nl);
}

入出力結果(Terminal)

$ ./a.out
blank:0 tab:0 newline:0
$ ./a.out
  
blank:1 tab:1 newline:1
$ ./a.out
python
perl javascript c
blank:1 tab:1 newline:2
$

演習 1-9.

コード

sample.c

#include <stdio.h>

#define CHAR 'w'

main()
{
    int c, pre;
    pre = CHAR;
    while ((c = getchar()) != EOF) {
        if (c != ' ')
            putchar(c);
        if (c == ' ')
            if (pre != ' ')
                putchar(c);
        pre = c;
    }
}

入出力結果(Terminal)

$ ./a.out
$ ./a.out
kamimura
kamimura
$ ./a.out
kamimura pythonkamimura python$ ./a.out
kamimura     pythonkamimura python$ ./a.out
kamimura     python
kamimura python
$ ./a.out
  kamimura     python     c           kamimura python c $ ./a.out
          kamimura python      c
 kamimura python c
$

演習 1-10.

コード

sample.c

#include <stdio.h>

main()
{
    int c;
    while ((c = getchar()) != EOF) {
        if (c == '\t')
            printf("\\t");
        if (c == '\b')
            printf("\\b");
        if (c == '\\')
            printf("\\\\");
        if (c != '\t')
            if (c != '\b')
                if (c != '\\')
                    putchar(c);
    }
}

入出力結果(Terminal)

$ ./a.out
kamimura python^Hc\kamimura\python^Hc  ^H^H\\kamimura\tpython\bc\\kamimura\\python\bc\t\t\b\b\\\\$ 

0 コメント:

コメントを投稿