1156: 单数变复数
时间限制: 1 Sec 内存限制: 128 MB
提交: 2677 解决: 1632
[状态] [讨论版] [提交] [命题人:admin]
题目描述
输入一个名词英语单词,按照英语语法规则把单数变成复数。规则如下:
(1) 以辅音字母y结尾,变y为i,再加es;
(2) 以s, x, ch, sh结尾,则加es;
(3) 以元音o结尾,则加es;
(4) 其他情况加上s。
输入
输入一个字符串,仅含小写字母,长度不超过20。
输出
输出其对应的复数形式。
样例输入 Copy
butterfly
样例输出 Copy
butterflies
#include<stdio.h>
#include<string.h>
int main()
{
char str[22];
int i=0,len;
scanf("%s",str);
len=strlen(str);
if(str[len-1]=='y')
{
str[len-1]='i';
str[len]='e';
str[len+1]='s';
len=len+2;
}
else if(str[len-1]=='s' || str[len-1]=='x' || str[len-1]=='h'&&(str[len-2]=='c'||str[len-2]=='s'))
{
str[len]='e';
str[len+1]='s';
len=len+2;
}
else if(str[len-1]=='o')
{
str[len]='e';
str[len+1]='s';
len=len+2;
}
else
{
str[len]='s';
len++;
}
for(i=0;i<len;i++)
printf("%c",str[i]);
printf("\n");
return 0;
}