林晴比古さんのコードが長くて読むのがたいへん
林晴比古さんのC言語による実用アルゴリズム入門読んでいて、電卓プログラム、まねして作ろうかなと思って書き始めたら長くて2ページ目で断念。以前からよく眺めていた、ohahirokiさんの電卓プログラムを頭の中で考えながら簡単な電卓プログラムを実装してみた
char e[128]; int p; int exp(); int term(); int fact(); int exp(){ int ret = term(); while(e[p] == '+' || e[p] == '-'){ if(e[p] == '+'){ p++; ret += term(); }else if(e[p] == '-'){ p++; ret -= term(); } } return ret; } int term(){ int ret = fact(); while(e[p] == '*' || e[p] == '/'){ if(e[p] == '*'){ p++; ret *= fact(); }else if(e[p] == '/'){ p++; ret /= fact(); } } return ret; } int fact(){ int ret = 0; if(e[p] == '('){ p++; ret = exp(); p++; } while(isdigit(e[p])){ ret = ret * 10 + e[p] - '0'; p++; } return ret; } int main(){ int n; scanf("%d", &n); while(n--){ scanf("%s", e); p = 0; printf("%d\n", exp()); } return 0; }
バッククオート三つに言語の名前でソースコードのシンタックスハイライトができるんですね。
- 作者: 林晴比古
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/10/30
- メディア: 単行本
- クリック: 2回
- この商品を含むブログ (6件) を見る
- 作者: Anany Levitin,Maria Levitin,黒川洋,松崎公紀
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/04/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る