開発環境
- OS X Lion - Apple (UNIX) (OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- C (プログラミング言語)
- Clang (コンパイラ)
C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の8章(他の制御文)、8.5(プログラミング実習)、実習 8-7を解いてみる。
その他参考書籍
- プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)
- プログラミング言語Cアンサー・ブック 第2版 (クロビス・L.トンド、スコット・E.ギンペル(著)、矢吹 道郎(翻訳))
実習 8-7.
コード
sample.c
#include <stdio.h> int main() { char line[100]; int numbers; int h, t, o; printf("数値を入力: "); fgets(line, sizeof(line), stdin); sscanf(line, "%d", &numbers); h = numbers / 100; numbers -= 100 * h; t = numbers / 10; numbers -= 10 * t; o = numbers; if (h == 1) { printf("one hundred "); } if (t == 1) { switch (o) { case 0: printf("ten"); break; case 1: printf("eleven"); break; case 2: printf("twelve"); break; case 3: printf("thirteen"); break; case 4: printf("fourteen"); break; case 5: printf("fifteen"); break; case 6: printf("sixteen"); break; case 7: printf("seventeen"); break; case 8: printf("eighteen"); break; case 9: printf("nineteen"); break; default: break; } } else if (t >= 2 && t <= 9) { switch (t) { case 2: printf("twenty"); break; case 3: printf("thirty"); break; case 4: printf("forty"); break; case 5: printf("fifty"); break; case 6: printf("sixty"); break; case 7: printf("seventy"); break; case 8: printf("eighty"); break; case 9: printf("ninety"); break; default: break; } if (o != 0) { printf("-"); } } if (h == 0 && t == 0) { printf("zero"); } else if (t != 1){ switch (o) { case 1: printf("one"); break; case 2: printf("two"); break; case 3: printf("three"); break; case 4: printf("four"); break; case 5: printf("five"); break; case 6: printf("six"); break; case 7: printf("seven"); break; case 8: printf("eight"); break; case 9: printf("nine"); default: break; } } printf("\n"); return (0); }
makefile
CC=cc CFLAGS=-g sample: sample.c $(CC) $(CFLAGS) -o sample sample.c clean: rm -f sample
入出力結果(Terminal)
$ make cc -g -o sample sample.c $ ./sample 数値を入力: 85 eighty-five $ ./sample 数値を入力: 13 thirteen $ ./sample 数値を入力: 100 one hundred $
0 コメント:
コメントを投稿