|
发表于 2024-3-30 23:35:21
|
显示全部楼层
- #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]; }elseif (pre)wcout << L"零"; pre = (d[i] != 0); } }
复制代码 |
|