BNUOJ 1010 Deli Deli

来源:互联网 发布:vb.net asp网站实例 编辑:程序博客网 时间:2024/06/08 06:38
由于项目和学习等原因,HK同学最近经常到一些外国文献。结果,他发现,懒惰而且甚至略微有点愚蠢的部分外国编辑居然连英语单词的单数形式变复数形式都处理不好(- -!这个是事实)……这让思维一贯严谨的HK同学很不爽,他决定写一个程序来解决这个问题。

下面是关于如何使复数形式的一个描述: 

1:如果需要替换成复数形式的单词出现在特殊表中,则用表中的形式替换。
2:如果是以辅音字母+“y”结尾的单词,将“y”变成“ies”。
3:如果是以“o”,“s”,“ch”,“sh”或者“x”结尾的单词,在结尾添加“es”。
4:对于其他的情况,在单词末添加“s”。

以上4条不能同时满足。


Input

第一行的输入是两个整数L 和 N (0 ≤ L ≤ 20, 1 ≤ N ≤ 100)。接下来的L行为特殊表,每行两个单词,分别表示特殊表中每个单词的单数和复数形式。在特殊表之后会有N行输入,每行一个单词。对于这N个单词,你需要输出它们对应的复数形式。
可以放心,每个单词最多20个字母,并且所有出现的字母都是小写字母('a' 到 'z')。

Output

一个N行的输出,对应着输入的N个单词的复数形式。

Sample Input

3 7rice ricespaghetti spaghettioctopus octopiricelobsterspaghettistrawberryoctopuspeachturkey

Sample Output

ricelobstersspaghettistrawberriesoctopipeachesturkeys

C语言程序:

#include<stdio.h>#include<string.h>int main(){//L:特殊表行数 N:单词数int L,N;//a:特殊表第一列 b:特殊表第二列 c:接受输入的单词char a[20][20]={0};char b[20][20]={0};char c[100][20]={0};scanf("%d %d",&L,&N);int i=0;int j=0;int len=0;int count_L=L,count_N=N;//存储特殊表while(L){scanf("%s %s",&a[i],&b[i]);L--;i++;}//存储输入的单词while(N){scanf("%s",&c[j++]);N--;}//循环比较,确认属于哪一种情况for(int x=0;x<count_N;x++){//特殊表变化for(int y=0;y<count_L;y++){if(!strcmp(c[x],a[y])){printf("%s\n",b[y]);memset(c[x],0,20);break;}}//辅音+ylen=strlen(c[x]);if((c[x][len-2]!='a')&&(c[x][len-2]!='e')&&(c[x][len-2]!='i')&&(c[x][len-2]!='o')&&(c[x][len-2]!='u')&&(c[x][len-1]=='y')){c[x][len-1]='i';c[x][len]='e';c[x][len+1]='s';printf("%s\n",c[x]);memset(c[x],0,20);}//加eslen=strlen(c[x]);if((c[x][len-1]=='o')||(c[x][len-1]=='s')||((c[x][len-2]=='c')&&(c[x][len-1]=='h'))||((c[x][len-2]=='s')&&(c[x][len-1]=='h'))||(c[x][len-1]=='x')){c[x][len]='e';c[x][len+1]='s';printf("%s\n",c[x]);memset(c[x],0,20);}//其他情况if(c[x][0]!=0){c[x][len]='s';printf("%s\n",c[x]);memset(c[x],0,20);}}return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾驶证暂扣六个月后怎么办 醉驾交警不通知怎么办 参军后地方驾驶证年审怎么办 军人驾驶证到期身份证注销了怎么办 资格证脱审30天怎么办 驾驶证c证扣6分怎么办 驾照被扣了9分怎么办 驾驶证被扣了9分怎么办 a2驾驶本扣3分怎么办 c1e没过扣了满分怎么办 c1一下扣12分怎么办 换证体检过不了怎么办 唐山驾驶本到期换本怎么办 北京居住证变更地址了怎么办 眼睛弱视驾驶证换证不了怎么办? 驾照的分扣完了怎么办 驾照被扣了3分怎么办 交警扣了行驶证怎么办 报考驾照时手机号录错怎么办 摩托车被交警队拖走怎么办 汽车牌照被偷了怎么办 代理品牌个体工商营业证怎么办 2地交社保怎么办退休 驾驶证脱审3月怎么办 a1一次性扣12分怎么办 驾照在外地掉了怎么办 在外市考的驾照怎么办 驾照过期3个月怎么办 驾照过期6个月怎么办 b本扣分了6分怎么办 b2驾照提前换证有扣分怎么办 酒驾驾驶证被扣怎么办 驾驶证被扣了分怎么办 c1驾照扣了12分怎么办 结婚证丢了怎么办离婚手续 结婚证不见了怎么办离婚手续 科目一身份丢了怎么办 考驾照身份证过期了怎么办 酒驾发交通事故致人死亡怎么办 车保险快到期了怎么办 车保险贴掉了怎么办