当前位置: 代码迷 >> C语言 >> 这个题目怎么做
  详细解决方案

这个题目怎么做

热度:488   发布时间:2007-04-18 22:11:52.0
这个题目怎么做

9 - 中文数字
时间限制 1000 毫秒
内存限制 32768 K字节

问题描述
输入一个整数,输出它用中文的表示形式。
输入
输入包含多行,每行一个整数(<=2000000000)。
输出
把输入的整数用中文表示出来,每行一个输出。
输入样例
12345
87654321
10001

输出样例
一万二千三百四十五
八千七百六十五万四千三百二十一
一万零一


----------------解决方案--------------------------------------------------------

这问题难在判断几位数上


----------------解决方案--------------------------------------------------------
用字符串输入不就知道多少位了.不过注意判断小数点的位置.
----------------解决方案--------------------------------------------------------
整数
那就更简单了.
----------------解决方案--------------------------------------------------------
digit[][10]={"零","一","二","三","四","五","六","七","八","九"};
value[][10]={"","十","百","千","万","十万","百万","千万","亿"};//如果数好大,那就继续定义

for(int i=strlen(str)-1;i>=0;i--)
{
int num=str[i]-'0';
if(num!=0)
{
printf("%s%s",digit[num],value[i]);
}
else
{
printf("%s",digit[num],);
}
}
----------------解决方案--------------------------------------------------------
  相关解决方案