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之间.
输入格式:
输出格式:
样例输入:
5
udder
farmer
milk
aaa
zzz
样例输出:
uddercow
armerfow
ilkmow
aaacow
zzzow
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cstdlib> 6 using namespace std; 7 char a[110][1000],can; //110是单词个数;10000是单词; 8 int main() 9 { 10 freopen("latin.in","r",stdin); 11 freopen("latin.out","w",stdout); 12 int n,i,k,c; //n为输入单词个数; 13 cin>>n; 14 for(i=1;i<=n;++i) 15 { 16 scanf("%s",&a[i]); / /输入单词; 17 c=strlen(a[i]); //单词长度 18 if(a[i][0]==‘a‘||a[i][0]==‘e‘||a[i][0]==‘i‘||a[i][0]==‘u‘||a[i][0]==‘o‘) 19 strcat(a[i],"cow"); //第一个字符是元音时; 20 else 21 { 22 can=a[i][0]; //第i个单词的第一个赋值给can; 23 for(k=0;k<c-1;++k) 24 { 25 a[i][k]=a[i][k+1]; //第k个字符有下一个赋值 26 } 27 a[i][c-1]=can ; //最后一个字符由can赋值 28 strcat(a[i],"ow"); //在新字符后加上“ow” 29 } 30 } 31 for(i=1;i<=n;++i) 32 puts(a[i]); //输出 33 fclose(stdin); 34 fclose(stdout); 35 return 0; 36 }
原文:http://www.cnblogs.com/mjtcn/p/6613585.html