數字拼音翻譯成阿拉伯數字
阿新 • • 發佈:2019-02-02
輸入一串拼音,輸出它代表的阿拉伯數字(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); }