1168: 零起点学算法75——单数变复数
Posted 只想要一个大Offer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1168: 零起点学算法75——单数变复数相关的知识,希望对你有一定的参考价值。
1168: 零起点学算法75——单数变复数
Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 443 Accepted: 345
[Submit][Status][Web Board]
Description
英文单词,我们可以按照英语语法规则把单数变成复数。规则如下:
(1)以辅音字母y结尾,则加es
(2)以s,x,ch,sh结尾,则加es
(3)以元音o结尾,则加es
(4)其他情况加上s
Input
第一行输入一个数字n,表示有n组测试数据
后面跟n行,每行是一个英语单词
Output
对于每组测试数据,输出一行,要求将输入的英文单词变成复数
Sample Input
2
book
fish
Sample Output
books
fishes
Source
1 #include<stdio.h> 2 #include<string.h> 3 int main(){ 4 int n; 5 char a[20]; 6 scanf("%d%*c",&n); 7 while(n--){ 8 gets(a); 9 int l; 10 l=strlen(a); 11 if(a[l-1]==‘y‘){ 12 a[l]=‘e‘; a[l+1]=‘s‘; a[l+2]=‘\0‘; 13 } 14 else if(a[l-1]==‘s‘||a[l-1]==‘x‘||(a[l-1]==‘h‘&&a[l-2]==‘s‘)||(a[l-1]==‘h‘&&a[l-2]==‘s‘)){ 15 a[l]=‘e‘; a[l+1]=‘s‘; a[l+2]=‘\0‘; 16 } 17 else if(a[l-1]==‘o‘){ 18 a[l]=‘e‘; a[l+1]=‘s‘; a[l+2]=‘\0‘; 19 } 20 else{ 21 a[l]=‘s‘; a[l+1]=‘\0‘; 22 } 23 puts(a); 24 } 25 return 0; 26 }
//用strcat 会更简单。
以上是关于1168: 零起点学算法75——单数变复数的主要内容,如果未能解决你的问题,请参考以下文章
java 利用字符串的操作,实现英文名词单数变复数的效果。例如:box--boxes boy--boys等