poj3366

#include<iostream>

using namespace std;

//水题,本来想用stl水一下的,就这样吧

char a[50][30],b[50][30];

char s[30];

int main()

{

int l,n,i;

scanf("%d %d",&l,&n);

for(i=0;i<l;i++)

scanf("%s %s",a[i],b[i]);

while(n--)

{

int flag=0;

scanf("%s",s);

for(i=0;i<l;i++)

{

if(strcmp(a[i],s)==0)

{

printf("%s/n",b[i]);

flag=1;

break;

}

}

if(flag==1)

continue;

int len=strlen(s);

if(s[len-1]=='y'&&s[len-2]!='a'&&s[len-2]!='e'&&s[len-2]!='i'&&s[len-2]!='o'&&s[len-2]!='u')

{

s[len-1]='/0';

printf("%s",s);

printf("ies/n");

continue;

}

if(s[len-1]=='o'||s[len-1]=='s'||s[len-1]=='x'||(s[len-2]=='e'&&s[len-1]=='s')||(s[len-2]=='s'&&s[len-1]=='h')||(s[len-2]=='c'&&s[len-1]=='h'))

{

printf("%s",s);

printf("es/n");

continue;

}

printf("%s",s);

printf("s/n");

}

return 0;

}

//stl
#include<iostream>
#include<map>
using namespace std;
int main()
{
int l, n;
cin>>l>>n;
map<string, string>m;
string s, t;
while(l--) {cin>>s>>t; m[s]=t;}
while(n--) {
cin>>s;
if(m.find(s)!=m.end()) cout<<m.find(s)->second<<endl;//学习之
else if(s[s.length()-1]=='y' && s.length()>1 && (
s[s.length()-2]!='a' && s[s.length()-2]!='e' &&
s[s.length()-2]!='i' && s[s.length()-2]!='o' &&
s[s.length()-2]!='u'))
{s[s.length()-1]='i';cout<<s<<"es"<<endl;}
else if(s[s.length()-1]=='o' || s[s.length()-1]=='s' ||
s[s.length()-1]=='x' || (s.length()>1 &&
s[s.length()-1]=='h' && (s[s.length()-2]=='c'
|| s[s.length()-2]=='s')))
cout<<s<<"es"<<endl;
else cout<<s<<"s"<<endl;
}
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值