K&R演習

1-7 eof.c

これも、言うことはないなぁ…。

1-6 bool.c

とりあえず初心者が真につまずくところは、端末にEOFを入力する方法だと思う。

1-5 f2c_r.c

f2cコピーしてちょちょっと。

1-4

f2cの計算をまんま数学の等式にして変形する。 (c : celsius, f : fahr)

1-3 f2c.c

"Fortran To C"ではない。 printfの%sとかここで使っていいのかしら。知らん。でも使う(又やっつけ)

1-2 tprintf.c

言うべきことはない。これもやっつけ。

1-1 hw.c

main()削ると「外部シンボル`_main'が未解決」とか コロン省くと構文エラーとかだろ。試してないけど(やっつけ)

4-1 strrindex.c

わりと読めるまま短く出来たとは思うけれど。 やはりありきたりというか何というか。

3-5 itob.c

これもありきたりかなぁ… 工夫があんまり思いつかない。

3-3 expand.c

ありきたり? なんてオーバーフローが怖い関数…。

3-2 escape.c

久しぶり。switch使うと縦長になるよなぁ。

2-5 any.c

squeezeに続いてテーブルを作っちゃう。なんか気に入った。 for入れ子にしなくていいあたりが。 ま、メモリは食うけど毎回s2をスキャンするよりは早いはず。 時間と空間のトレードオフですな。

2-4 squeeze.c

演習2-1で触れてるから、limits.h使っていいよね。

2-3 htoi.c

依存多い… もちろん、まっとうに使うときはtolower()やisxdigit()を使いましょう。

1-24 chk_paren.c

テーブルだらけだなぁ、なんか。

1-23 rm_com.c

これもイマイチ。 flush...はDRYに反してるっぽいし、buffはグローバル変数だし…。

1-22 fold.c

汚い! 汚いよこれ! clear_buffer()はせめてマクロにしたかった…

まとめ

第1章 やさしい入門 演習1-1 演習1-2 演習1-3 演習1-4 演習1-5 演習1-6 演習1-7 演習1-8 演習1-9 演習1-10 演習1-12 演習1-13 演習1-14 演習1-17 演習1-18 演習1-19 演習1-20 演習1-21 演習1-22 演習1-23 演習1-24おまけ:Ruby版8〜18 第2章 データ型・演算子…

1-21 entab.c

detabとループ周りが似ますな、やはり。 しかし問題文のくどいことくどいこと…

1-20 detab.c

記号パラメータとはなんぞや? たぶん#defineで作る定数のことだろうけど。 お前、1.1.4では記号定数て言ってるじゃねーかよー >K&R 1章の問題でprintfの書式の*使うかどうか迷ったけど、結局使いました。 書くまでも無い簡単なループで置き換えられるからい…

1-19 reverse.c

書けた。

今までのRubyバージョン

を、書いてみた。あたりまえだけどすげー楽。

1-18 rm_spc.c

malloc()使えないから一行1023byteまでだよー。 というか一行2000byteも3000byteもあるテキストファイルなんてくそったれだ。

1-17 over80.c

わりとad-hoc。

1-13 histgram.c

とりあえず集計する単語の長さは1〜10文字に。あとはその他扱い。

1-12 show_words.c

やっとelseとかANDとか使えるぜ…ふぅ

1-14 char_hist.c

20回以上の頻度はその他扱いに。

1-10 esc_spc.c

うがあああああああぁぁぁぁああぁぁ、els(ry

1-9 cmpc_spc.c

うがああああああ、elseぐらい使いてぇぇぇぇ

1-8 cnt_spc.c

前HPに晒してたのがアレだったので、ちょこちょこやってみる。 本の中で出てきてないモノは使わないよーに、そろそろと書く。