163. [USACO Mat07] 牛语

时间:2022-05-08
本文章向大家介绍163. [USACO Mat07] 牛语,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

☆   输入文件:latin.in   输出文件:latin.out   简单对比 时间限制:1 s   内存限制:128 MB

译: zqzas

奶牛们听说猪发明了一种秘密语言,叫做"猪语",因为猪不想让FJ知道他们在商量什么.奶牛们也感觉这样很不错,所以她们想发明他们自己的语言,牛语.

想把一个普通的英语单词转换成牛语很简单.如果一个单词的以一个元音字母('a','e','i','o','u)开头,那么只需在这个单词的结尾加上"cow".例如,"udder"需要变成"uddercow"; 如果一个单词的第一个字母不是元音字母,那么只需把这个单词的第一个字母放到单词结尾,然后再在结尾加上"ow".例如 "farmer"需要变成"armerfow". 所以"the cows escape at dawn"就会变成"hetow owscow escapecow atcow awndow." 奶牛们自信地以为这样就可以不让FJ知道他们的"越狱"计划.

可惜奶牛们都不是语言学家,他们觉得这样的翻译太无聊了,所以这个任务就交给你了. 你需要将N (1 ≤ N ≤ 100)个英语单词翻译成牛语,单词长度在3到40之间.

输入格式:

  • 第1行: 一个整数N.
  • 第2行到第N+1行: 每行一个单词.

输出格式:

  • 第1行到第N行,每行一个相应的牛语单词.

样例输入:

5

udder

farmer

milk

aaa

zzz

样例输出:

uddercow

armerfow

ilkmow

aaacow

思路:

个人认为这是一道很简单的字符串处理题目,上来先判断第一个字母是不是“a,e,i,u”里面的一个,如果是的话就把第一个取出来然后在末尾加上。最后在根据情况加山cow或者ow

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<cstdlib>
 7 using namespace std;
 8 int n;
 9 string a;
10 string b="cow";
11 string c="ow";
12 int main()
13 {
14     freopen("latin.in","r",stdin);
15     freopen("latin.out","w",stdout);
16     scanf("%d",&n);
17     for(int i=1;i<=n;i++)
18     {
19         cin>>a;
20         //scanf("%s",&a);
21         if(a[0]=='a'||a[0]=='e'||a[0]=='i'||a[0]=='o'||a[0]=='u')
22         {
23             a=a+b;
24             //printf("%sn",a);
25             cout<<a<<endl;    
26         }
27         else 
28         {
29             int l=a.length();
30             a=a+a[0];
31             a=a+c;
32             for(int i=1;i<=a.length()-1;i++)
33             cout<<a[i];
34             //printf("%d",a[i]);
35             cout<<endl;
36         }
37     }
38     
39     
40     
41     fclose(stdin);
42     fclose(stdout);
43     return 0;
44 }