题目:拼音翻译成阿拉伯数字
输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万
为了处理方便,输入一定是数字带单位的,例如10会是YiShi,而不是一个单独的Shi.
输入 JiuWanJiuQianJiuBaiJiuShiJiu
#include<iostream>
#include<string>
using namespace std;
int str2num(string str)
{
char* p[]={
"Ling","Yi","Er","San","Si","Wu","Liu","Qi","Ba","Jiu"
};
for(int i=0;i<10;i++)
{
if(str.compare(p[i])==0)
{
return i;
}
}
return -1;
}
int main()
{
int num=0;
string str;
cout<<"请输入一串字符串:";
cin >>str;
for(int i=0;i<str.size();)
{
string temp;
int start,end,len=1;
if(str[i]>='A'&&str[i]<='Z')
{
start=i;
i++;
while(str[i]>='a'&&str[i]<='z'&&i<str.size())
{
len++;
i++;
}
temp=str.substr(start,len);
num=num*10+str2num(temp);
}
}
cout<<num;
}
输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万
为了处理方便,输入一定是数字带单位的,例如10会是YiShi,而不是一个单独的Shi.
输入 JiuWanJiuQianJiuBaiJiuShiJiu
输出 99999