名词复数形式

题目描述 Description

在英语中,单数名词变为复数形式会有很多种不同的情况,比如直接加-s,-es,变y为i再加-es……现只考虑以下3种情况: 1.凡是以s、z、x、ch、sh结尾的词,在该词末尾加上后辍es构成复数; 2、以y结尾的名词,将y改变为i,再加es; 3、除以上情况以外的都直接加s。 给定一个单词,请输出其复数形式。

输入描述 Input Description

输入为一行,包含一个字符串,为一个单数名词(长度不超过15)。

输出描述 Output Description

输出为一行,包含一个字符串,为该单词的复数形式。

样例输入 Sample Input

fox

样例输出 Sample Output

foxes

 

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     char s[30];
 9     char d[]= "s",e[]= "es";
10     gets(s);
11     int len=strlen(s);
12     if((s[len-1]=='o'||s[len-1]=='s'||s[len-1]=='x')||((s[len-2]=='c'||s[len-2]=='s')&&(s[len-1]=='h')))
13         strcat(s,e);
14     else if(s[len-1]=='y')
15         s[len-1]='i',strcat(s,e);
16     else
17         strcat(s,d);
18     puts(s);
19 
20     return 0;
21 }

 

posted @ 2019-01-03 10:08  zhangjs73  阅读(619)  评论(0编辑  收藏  举报