试题 算法训练 P0701
资源限制
时间限制:1.0s 内存限制:256.0MB
编写一个函数RegularPlural,其功能是实现一个英文单词的复数形式。复数的规则为:
(1) 如果单词末尾为s,x,z,ch或sh,则在后面加es
(2) 如果单词末尾为y,且前一个字母为辅音(除a, e, i, o, u以外的其它情况),则把y改成ies。
(3) 如果是其它情形,一律在后面加s。
编写测试程序,输入一个长度小于20的单词,输出该单词的复数形式。
输入:
box
输出:
boxes
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String n=sc.next();
char[] z=new char[n.length()-1];
for (int i = 0; i < n.length()-1; i++) {
z[i]=n.charAt(i);
}
int a=n.length()-1;
char x=n.charAt(a-1);
char y=n.charAt(a);
if(y=='s'||y=='x'||y=='z'||x=='c'&&y=='h'||x=='s'&&y=='h'){
System.out.println(n+"es");
}else if(y=='y') {
if(x!='a'&&x!='e'&&x!='i'&&x!='o'&&x!='u') {
for (int i = 0; i < z.length; i++) {
System.out.print(z[i]);
}
System.out.println("ies");
}else {
System.out.println(n+"s");
}
}
else {
System.out.println(n+"s");
}
}
}