1. 程式人生 > >數字拼音翻譯成阿拉伯數字

數字拼音翻譯成阿拉伯數字

輸入一串拼音,輸出它代表的阿拉伯數字(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);		
}