数学趣题——数字翻译器
2010-05-26 10:42
274 查看
问题:输入一个正整数N,输出英文表达。例如:1对应one
源码:
源码:
#include <stdio.h>
char data_1[19][11] ={"one", "two", "three", "four",
"five", "six", "seven", "eight",
"nine", "ten", "eleven", "twelve",
"thirteen", "forteen", "fifteen", "sixteen",
"seventeen", "eighteen", "ninteen"
};
char data_2[8][8] ={"twenty", "thirty", "forty", "fifty",
"sixty", "seventy", "eighty", "ninty"
};
void translation_A(long N);
void translation_B(long a);
void translation_C(long b);
void translation_A(long N)
{ /*翻译千位数*/
long a;
if(N == 0){
printf("Zero\n");
return;
}
a = N / 1000;
if(a != 0){
translation_B(a);
printf("thousand ");
}
a = N % 1000;
if(a != 0)
translation_B(a);
}
void translation_B(long a)
{ /*翻译百位数*/
long b;
b = a / 100;
if(b != 0){
translation_C(b);
printf("hundred ");
}
b = a % 100;
if(b != 0)
translation_C(b);
}
void translation_C(long b)
{ /*翻译十位数和个位数*/
long c;
if(b <= 19)
printf("%s ", data_1[b-1]);
else
{
c = b / 10;
printf("%s ", data_2[c-2]);
c = b % 10;
if(c != 0)
printf("%s ", data_1[c-1]);
}
}
int main()
{
long N;
printf("Please input a longeger from 0~999999\n");
scanf("%ld", &N);
translation_A(N);
return 0;
}
相关文章推荐
- 数学趣题——判断回文数字
- 数学趣题——填数字游戏
- 数学趣题——数字的全排列
- HDU 2178 猜数字 数学题
- HDU 2178 猜数字(水题,数学题)
- Math.Inc 分型图形库数学函数头文件 数字函数+向量和矩阵函数+仿射变换
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)(数学)
- 数学练习二:互联网数字游戏
- Python笔记——数字及数学函数
- F#与数学 - 数字运算与F# PowerPack
- 简单讲解Python中的数字类型及基本的数学计算
- 4X4数字拼图的自动求解程序下载,手玩技巧及数学原理
- 2中方法实现数学中组合问题《在10个数中找出任意6个数的组合,数字不能》
- 【BZOJ入门3189】 猜数字(数学,搜索)
- 约瑟夫环的数学推导、数学方法求最后出圈的数字、循环单链表求所有出圈数字顺序
- 笨方法学习Python-习题3:数字和数学计算
- 数学趣题——哥德巴赫猜想的近似证明
- 数学趣题——常胜将军
- 数学趣题——应用递归实现数制转换
- 数学趣题——表示成两个数的平方和