音标

时间限制: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;
}

猜你喜欢

转载自blog.csdn.net/memory_qianxiao/article/details/80295879