这是原码:
#include
using namespace std;
int* fen(long long int n, int& num)
{
num = 0;
int n1 = 0, i = 10;
while (n1 != n)
{
n1 = n % i;
i = i * 10;
num++;//num代表n为几位数
}
int* a;
//int n2 = 10, n3 = 1;
a = new int[num];
for (int n2 = 10, n3 = 1, i = 0; i < num; i++, n2 = n2 * 10, n3 = n3 * 10)
{
a[i] = (n % n2) / n3;
}
return a;
}
int main()
{
long long int n;
int i,num;
cin >> n;
int* a1,*a;
a1 = fen (n,num);
n = 0;
for (int i = 0; i < num; i++)
{
n = n + a1[i];
}
a = fen (n, num);
for (i = num - 1; i > 0; i--)
{
if (a[i] == 0) cout << "ling ";
if (a[i] == 1) cout << "yi ";
if (a[i] == 2) cout << "er ";
if (a[i] == 3) cout << "san ";
if (a[i] == 4) cout << "si ";
if (a[i] == 5) cout << "wu ";
if (a[i] == 6) cout << "liu ";
if (a[i] == 7) cout << "qi ";
if (a[i] == 8) cout << "ba ";
if (a[i] == 9) cout << "jiu ";
}
if (a[0] == 0) cout << "ling";
if (a[0] == 1) cout << "yi";
if (a[0] == 2) cout << "er";
if (a[0] == 3) cout << "san";
if (a[0] == 4) cout << "si";
if (a[0] == 5) cout << "wu";
if (a[0] == 6) cout << "liu";
if (a[0] == 7) cout << "qi";
if (a[0] == 8) cout << "ba";
if (a[0] == 9) cout << "jiu";
}