把一个数串各个数位上的数加起来,然后用给定格式输出,这个输出很有讲究,一个大数从高位向地位输出。
代码如下:
#include<iostream>
using namespace std;
char str[110];
int res=0,flag=0;
char output[15][5] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
void out(int x)
{
if(x>9)
{
out(x/10);
}
if(flag)
{
cout<<" ";
}
else
{
flag=1;
}
cout<<output[x%10];
}
int main()
{
res=0;
flag=0;
gets(str);
for(int i=0;str[i];i++)
{
res+=str[i]-'0';
}
out(res);
return 0;
}
其中大数从高位向低位输出的方法如下:
void out(int x)
{
if(x>9)
{
out(x/10);
}
if(flag)
{
cout<<" ";
}
else
{
flag=1;
}
cout<<output[x%10];
}