题目:拼写正确
解题思路:
因为题目所给范围为,0≤N≤10100,所以需要使用字符串类型存储数据。
将数据存储在数组中,再将数组的字符减去'0',转换为数字。
使用sum计算储存所给数的和
while循环计算sum里的数字为几位
英文依次对应x[i]里的数字
代码:
#include<iostream>
using namespace std;
int main()
{
string n;
cin>>n;
int x[10001];
int sum=0;
int ans=0;
for(int i=0;i<n.length();i++)
{
if(n[i]-'0'>=0&&n[i]-'9'<=0)
{
sum=sum+(n[i]-'0');
}
}
while(sum)
{
x[ans++]=sum%10;
sum=sum/10;
}
for(int i=ans-1;i>=0;i--)
{
if(x[i]==0) cout<<"zero"<<" ";
else if(x[i]==1) cout<<"one"<<" ";
else if(x[i]==2) cout<<"two"<<" ";
else if(x[i]==3) cout<<"three"<<" ";
else if(x[i]==4) cout<<"four"<<" ";
else if(x[i]==5) cout<<"five"<<" ";
else if(x[i]==6) cout<<"six"<<" ";
else if(x[i]==7) cout<<"seven"<<" ";
else if(x[i]==8) cout<<"eight"<<" ";
else if(x[i]==9) cout<<"nine"<<" ";
}
return 0;
}