- 注册时间
- 2008-2-6
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 51573
- 在线时间
- 小时
|
发表于 2011-6-17 21:12:51
|
显示全部楼层
-
- #include <string>
- #include <locale>
- using namespace std;
-
-
- void main()
- {
- unsigned int n, d[9];
- int pre, i, high, low;
- wchar_t c[11] = L"零一二三四五六七八九";
- wchar_t p[11] = L"个十百千万十百千亿";
-
- for (i = 0; i < 9; i ++) d[i] = 0;
- cout << "请输入数字 :";
- cin >> n;
- if (n >= 1000000000)
- {
- cout << "输入数字过大"<<endl;
- exit(1);
- }
- i = 0; while (n > 0)
- {
- d[i++] = n % 10;
- n /= 10;
- }
- high = i-1; //最高位
- low = 0; //最低位 while (d[low] == 0) low ++;locale loc( "chs" );
- wcout.imbue(loc);
-
-
- cout << endl << "大写形式:";if (n == 0) { cout << "零" << endl; exit(0); } //特殊处理零
- pre = 0;
- for (i = high; i >= low; i --)
- {
- if (d[i] > 0)
- { wcout << c[d[i]]; if (i > 0) wcout << p[i]; }
- else
- if (pre)
- wcout << L"零";
- pre = (d[i] != 0);
- }
- }
复制代码 |
|