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

Posted 极限之旅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西电大第十六届程序设计竞赛 A-GRE相关的知识,希望对你有一定的参考价值。

题目描述

   不愤不启不悱不发,王萌萌为了能够成功上研,开始刻苦背GRE单词,但是由于她过于刻苦,在背会英语单词的同时,把中文读音忘了。于是王萌萌又开始复习起中文发音,她先从数字开始复习起。。。 
  题目很简单,王萌萌给出在[0, 10]范围内的整数的英文单词,你教她中文发音。

输入描述:

第一行输入一个T,表示王萌萌询问的单词。(T <= 20) 后面T行每行一个英文单词,题目保证英文单词是[0, 10]数字所表示的单词且单词书写无误,单词用小写形式给出。

输出描述:

对于每一个输入的单词,输出它的中文读音,请用小写形式给出。
示例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[0]==z)
            cout<<"ling"<<endl;
        else if(ss[0]==o)
            cout<<"yi"<<endl;
        else if(ss[0]==e)
            cout<<"ba"<<endl;
        else if(ss[0]==n)
            cout<<"jiu"<<endl;
        else if(ss[0]==t&&ss[1]==w)
            cout<<"er"<<endl;
        else if(ss[0]==t&&ss[1]==h)
            cout<<"san"<<endl;
        else if(ss[0]==t&&ss[1]==e)
            cout<<"shi"<<endl;
        else if(ss[0]==s&&ss[1]==i)
            cout<<"liu"<<endl;
        else if(ss[0]==s&&ss[1]==e)
            cout<<"qi"<<endl;
        else if(ss[0]==f&&ss[1]==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 0;
 }

 

 

以上是关于西电大第十六届程序设计竞赛 A-GRE的主要内容,如果未能解决你的问题,请参考以下文章

第十六届中国研究生电子设计竞赛记录

第十六届全国大学生智能车竞赛文化衫LOGO主图案设计

第十六届全国大学生智能车竞赛线上比赛监督裁判培训演练程序

第十六届全国大学生智能车竞赛-赛前开题

第十六届智能车竞赛开源云台设计

2018北京师范大学第十六届程序设计竞赛决赛