实验十(二)3、请编一个程序,可以将英语规则名词由单数变成复数。

#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\n",s);
} 
 

 

已知规则如下:
     (a)以辅音字母y结尾,则将y改成i,再加es;
     (b)以s、x、ch、sh结尾,则加es;
     (c)以元音字母o结尾,则加es;
     (d)其他情况直接加s。
     要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。

 

 

posted @ 2013-11-14 09:42  dihuanting  阅读(815)  评论(0编辑  收藏  举报