#输入数字98866881,得到输出玖仟捌佰捌十陆万陆仟捌佰佰十壹
用C++代码实现:
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n, len;
int i = 0, j = 0;
cin >> n;
int m[20] = { 0 }; //定义数组m并初始化,用于存放n的各位数字
while (n > 0) {
m[i] = n % 10;
n /= 10;
i++;
} //依次将n的各位数存储在数组m中
len = i;
const char* a[11] = { "十","佰","仟","万","十","佰","仟","亿" "十","佰","仟" };
const char* b[10] = { "壹","贰","叁","肆","伍","陆","柒","捌","玖","零"};
if (len <= 12) {
for (j = 0; j < len - 1; j++) {
if (m[len - j - 1] != 0)
cout << b[m[len - j - 1] - 1] << a[len - 2 - j];//没有0时先输出数字,再输出单位
else if (m[len - j - 1] == 0 && m[len - j - 2] != 0)
cout << b[9];
else
j++;
}
if(b[m[len - j - 1] - 1]!=0)
cout << b[m[len - j - 1] - 1];//用于输出最后一个数字
}
return 0;
}
结果: