题目描述如下:
题目要求输入来看最大数有可能达到10的100次方,显然不能用一个整数变量处理,考虑到数组行不行呢,不行,因为输入数据12345是连着的,并没有用空格隔开,也就是说12345这表示一个整体,不能将他们拆分成5个数字来看,那么下面就只能把它当做字符串来处理了,于是代码如下
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[101]={0};
int len,i,sum=0;
cin>>str;
len=strlen(str);
for(i=0;i<len;i++)
sum=sum+str[i]-48;//字符0和数字0相差48
int bai=sum/100;
int shi=(sum-bai*100)/10;
int gewei=sum-100*bai-10*shi;
char out[10][10]={"zero","one","two","three","four","five","six","seven","eight","nine"};//构建二位字符串数组
if(bai!=0)
cout<<out[bai]<<" "<<out[shi]<<" "<<out[gewei];
else
{
if(!shi)
cout<<out[gewei];
else
cout<<out[shi]<<" "<<out[gewei];
}
return 0;
}