西电大第十六届程序设计竞赛 A-GRE

题目描述

   不愤不启不悱不发,王萌萌为了能够成功上研,开始刻苦背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 ;
}
上一篇:HDU 6464 免费送气球 【权值线段树】(广东工业大学第十四届程序设计竞赛)


下一篇:北京师范大学第十六届程序设计竞赛决赛 F 汤圆防漏理论