#include<stdio.h> #include<string.h> void change(char *s); int main() { char str[80]; printf("Enter a word:"); gets(str); change(str); return 0; } void change(char *s){ char y[80],op; int len=strlen(s); op=*(s+len-1); switch(op){ case 'y': *(s+len-1)='i'; *(s+len)='e'; *(s+len+1)='s'; break; case 's': *(s+len)='e'; *(s+len+1)='s'; break; case 'x': *(s+len)='e'; *(s+len+1)='s'; break; case 'h': if(*(s+len-2)=='s'||*(s+len-2)=='c'){ *(s+len)='e'; *(s+len+1)='s'; break; } else{ *(s+len)='s'; break; } case 'o': *(s+len)='e'; *(s+len+1)='s'; break; default: *(s+len)='s'; break; } printf("变复数以后:%s ",s); }
已知规则如下:
(a)以辅音字母y结尾,则将y改成i,再加es;
(b)以s、x、ch、sh结尾,则加es;
(c)以元音字母o结尾,则加es;
(d)其他情况直接加s。
要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。