您的位置:首页 > 其它

数字拼音翻译成阿拉伯数字

2015-04-15 20:08 1366 查看
输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万

为了处理方便,输入一定是只有数字拼音的,没有其他的单词或者字符。

输入:JiuBaWuSi

输出:9854

基本思路:

可以看出拼音最短为2个字符,最长为4个字符。

两位开始扫,没有,扫三位,三位没有扫四位,二位三位四位都没有,则从下一位开始扫。

#include<iostream>
#include<string>
using namespace std;

void change(string str){
char *ch[]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int i,j,len,k;
len=str.length();
string s;
for(i=0;i<len;i++)
for(j=i+1;j<len&&j-i+1<=4;j++){
s=str.substr(i,j-i+1);
for(k=0;k<=9;k++)
if(!s.compare(ch[k])){
cout<<k;
break;
}

}
cout<<endl;
}
void main(){
string s;
while(cin>>s)
change(s);
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: