欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

音标

程序员文章站 2022-05-04 16:41:13
...

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述 

我们规定元音字母有a、e、i、o、u,并且规定半元音字母y也是元音字母。
Cwbc在学习英语,XHRlyb为了让Cwbc的记忆更加深刻,于是她让Cwbc把每个字符串的所有字母都变成一个恰好不大于它本身的小写元音字母
可是Cwbc比较贪玩,并且他想让你帮他完成这个任务。
聪明的你在仔细阅读题目后,一定可以顺利的解决这个问题!

输入描述:

输入数据有多行,每行有一个仅包含小写字母的字符串。

输出描述:

输出数据应有多行,每行有一个变化后的字符串。
示例1

输入

aeiou

输出

aeiou

说明

元音字母变为一个恰好不大于它本身的字母,也就是元音字母本身
示例2

输入

bfjpv

输出

aeiou

说明

输入样例是由元音字母a、e、i、o、u的后一个字母组成,每个字母变为一个恰好不大于它本身的字母,也就是a、e、i、o、u。

备注:

每行字符串长度不超过2×105,字符串总长度不超过106

题解:找恰好不大于它本身的的小写元音字母,我们对每个目开始从y,u,o,i,e,a的反顺序找就可以了。
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    char ans[10]= {'y','u','o','i','e','a'};
    while(cin>>s)
    {
        for(int i=0; i<s.size(); i++)
            for(int j=0; j<6; j++)
                if(s[i]>=ans[j])
                {
                    s[i]=ans[j];
                    break;
                }
                cout<<s<<endl;
    }
    return 0;
}