当前位置: 代码迷 >> 综合 >> ZZULIOJ:1156: 单数变复数
  详细解决方案

ZZULIOJ:1156: 单数变复数

热度:4   发布时间:2023-12-05 08:28:07.0

1156: 单数变复数

时间限制: 1 Sec  内存限制: 128 MB
[状态] [讨论版] [提交] [命题人: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 ch[28], a[]="s", b[]="es", m;gets(ch);m=strlen(ch);if(ch[m-1]=='o'||ch[m-1]=='s'||ch[m-1]=='x'||(ch[m-1]=='h'&&ch[m-2]=='c')||(ch[m-1]=='h'&&ch[m-2]=='s'))strcat(ch,b);else if(ch[m-1]=='y'){ch[m-1]='i';strcat(ch,b);}elsestrcat(ch,a);puts(ch);return 0;}