题目描述
不愤不启不悱不发,王萌萌为了能够成功上研,开始刻苦背GRE单词,但是由于她过于刻苦,在背会英语单词的同时,把中文读音忘了。于是王萌萌又开始复习起中文发音,她先从数字开始复习起。。。
题目很简单,王萌萌给出在[0, 10]范围内的整数的英文单词,你教她中文发音。
输入描述:
第一行输入一个T,表示王萌萌询问的单词。(T <= 20) 后面T行每行一个英文单词,题目保证英文单词是[0, 10]数字所表示的单词且单词书写无误,单词用小写形式给出。
输出描述:
对于每一个输入的单词,输出它的中文读音,请用小写形式给出。
输入例子:
5
zero
one
one
four
eight
输出例子:
ling
yi
yi
si
ba
-->
示例1
输入
5
zero
one
one
four
eight
输出
ling
yi
yi
si
ba
自己写的代码,最笨的方法,由于只有一到十,所以把所有的情况进行枚举即可
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
string ss;
cin>>ss;
if(ss[]=='z')
cout<<"ling"<<endl;
else if(ss[]=='o')
cout<<"yi"<<endl;
else if(ss[]=='e')
cout<<"ba"<<endl;
else if(ss[]=='n')
cout<<"jiu"<<endl;
else if(ss[]=='t'&&ss[]=='w')
cout<<"er"<<endl;
else if(ss[]=='t'&&ss[]=='h')
cout<<"san"<<endl;
else if(ss[]=='t'&&ss[]=='e')
cout<<"shi"<<endl;
else if(ss[]=='s'&&ss[]=='i')
cout<<"liu"<<endl;
else if(ss[]=='s'&&ss[]=='e')
cout<<"qi"<<endl;
else if(ss[]=='f'&&ss[]=='i')
cout<<"wu"<<endl;
else cout<<"si"<<endl;
}
}
大佬写的代码,用map把中英文一一对应
#include<bits/stdc++.h>
using namespace std;
int main()
{
map<string,string>number;
number["zero"]="ling";
number["one"]="yi";
number["two"]="er";
number["three"]="san";
number["four"]="si";
number["five"]="wu";
number["six"]="liu";
number["seven"]="qi";
number["eight"]="ba";
number["nine"]="jiu";
number["ten"]="shi";
int n;
string s;
cin>>n;
while(n--)
{
cin>>s;
cout<<number[s]<<endl;
}
return ;
}