C语言输入多组英语单词单数变复数问题? 5
输入格式
有多组数据,每组一行,每组就是一个单词。这里的单词是常用单词,其长度不超过100。输入#时表示输入结束。
输出格式
每组只输出其对应的复数形式,单独成行。
输入样例
在这里给出一组输入。例如:
word
box
#
输出样例
在这里给出相应的输出。例如:
words
boxes 展开
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;
}