会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
我们一直在努力
博客园
首页
新随笔
联系
订阅
管理
一个输入数字转化为大写的小程序(用到递归)(转)
在sina blog上看到的一篇文章,因为可能会用到,所以先收藏下来,代码未经过验证~~~
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
Capp
{
class
Program
{
const
string
numstr
=
"
零壹贰叁肆伍陆柒捌玖
"
;
const
string
numstr1
=
"
拾佰千
"
;
const
string
numstr2
=
"
万亿
"
;
static
string
sout;
static
int
ln;
static
void
Main(
string
[] args)
{
string
num
=
Console.ReadLine();
long
l
=
long
.Parse(num);
sout
=
""
;
s1(l);
ln
=
0
;
sout
=
sout.Replace(
"
"
,
""
);
sout
=
sout.Replace(
"
零佰
"
,
"
零
"
).Replace(
"
零千
"
,
"
零
"
).Replace(
"
零拾
"
,
"
零
"
);
while
(sout.IndexOf(
"
零零
"
)
>=
0
)
{
sout
=
sout.Replace(
"
零零
"
,
"
零
"
);
}
sout
+=
"
整
"
;
sout
=
sout.Replace(
"
零整
"
,
"
整
"
).Replace(
"
零万
"
,
"
万
"
);
Console.WriteLine(sout);
}
static
void
s1(
long
x)
{
long
n
=
x
%
10000
;
string
s
=
""
+
n;
string
stmp
=
""
;
for
(
int
i
=
0
; i
<
s.Length; i
++
)
{
int
m
=
int
.Parse(
""
+
s[i]);
stmp
+=
""
+
numstr[m]
+
numstr1[s.Length
-
i];
}
stmp
+=
numstr2[ln];
sout
=
stmp
+
sout;
ln
++
;
if
(ln
==
3
)
ln
=
0
;
long
l
=
x
/
10000
;
if
(l
>
0
)
s1(l);
}
}
}
posted @
2007-10-18 11:11
kidman
阅读(
266
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告