C语言输入多组英语单词单数变复数问题? 5

单词变化的规则如下:1.以s,x,ch,sh结尾,加es;2.以o结尾,加es;3.以y结尾,则将y改成i,再加es;4.其他情况直接加s。输入格式有多组数据,每组一行,... 单词变化的规则如下: 1.以s,x,ch,sh结尾,加es; 2.以o结尾,加es; 3.以y结尾,则将y改成i,再加es; 4.其他情况直接加s。

输入格式
有多组数据,每组一行,每组就是一个单词。这里的单词是常用单词,其长度不超过100。输入#时表示输入结束。

输出格式
每组只输出其对应的复数形式,单独成行。

输入样例
在这里给出一组输入。例如:

word
box
#
输出样例
在这里给出相应的输出。例如:

words
boxes
展开
 我来答
xgn911
2022-10-26 · TA获得超过1364个赞
知道小有建树答主
回答量:1493
采纳率:96%
帮助的人:651万
展开全部

C代码和运行结果如下:

符合样例输出,望采纳~

附源码:

#include <stdio.h>

#include <string.h>

int main() {

    char s[100];

    int n;

    while (1) {

        scanf("%s", s);

        if (strcmp(s, "#") == 0) // 读入"#"结束

            break;

        n = strlen(s);

        if (s[n - 1] == 's' || s[n - 1] == 'x' || s[n - 1] == 'o' ||

            n > 1 && s[n - 2] == 'c' && s[n - 1] == 'h' ||

            n > 1 && s[n - 2] == 's' && s[n - 1] == 'h') {

            printf("%ses\n", s);

        }

        else if (s[n - 1] == 'y') {

            s[n - 1] = 'i';

            printf("%ses\n", s);

        }

        else

            printf("%ss\n", s);

    }

    return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式