開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料、light版)
- 言語: C
- コンパイラ: UNIX ccコンパイラ (汎用UNIX)
『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646) の8章(他の制御文)8.5(プログラミング実習)実習8-6を解いてみる。
実習8-6.
コード(TextWrangler)
#include <stdio.h>
int main(){
char line[4];
int num;
int hund;
int ten;
int one;
printf("1~100の整数を入力: ");
fgets(line,sizeof(line),stdin);
sscanf(line,"%d",&num);
hund = num / 100;
ten = (num % 100) / 10;
one = num % 10;
if(hund == 1){
printf("one hundred ");
}
if(ten == 1 && one != 0){
switch(one){
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;
}
} else {
switch(ten){
case 0:break;
case 1:printf("ten");break;
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;
}
if(ten != 0 && one != 0){
printf("-");
}
switch(one){
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");break;
}
}
if(hund == 0 && ten == 0 && one == 0){
printf("zero");
}
printf("\n");
return (0);
}
入出力結果(Terminal)
$ cc -g -o sample sample.c $ ./sample 1~100の整数を入力: 1 one $ ./sample 1~100の整数を入力: 2 two $ ./sample 1~100の整数を入力: 10 ten $ ./sample 1~100の整数を入力: 11 eleven $ ./sample 1~100の整数を入力: 12 twelve $ ./sample 1~100の整数を入力: 12 twelve $ ./sample 1~100の整数を入力: 21 twenty-one $ ./sample 1~100の整数を入力: 59 fifty-nine $ ./sample 1~100の整数を入力: 100 one hundred $ ./sample 1~100の整数を入力: 101 one hundred one $ ./sample 1~100の整数を入力: 111 one hundred eleven $ ./sample 1~100の整数を入力: 123 one hundred twenty-three $ ./sample 1~100の整数を入力: 0 zero $
0 コメント:
コメントを投稿