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”。
下面是关于如何使复数形式的一个描述:
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')。
可以放心,每个单词最多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
- BNUOJ 1010 Deli Deli
- Deli Deli
- HDU 1804 Deli Deli
- poj 3366 Deli Deli
- hdu_1804 Deli Deli
- HDU1804 Deli Deli
- UVa 11233 - Deli Deli
- HDU 1804 Deli Deli
- HDU 1804:Deli Deli
- HDU_1804Deli Deli
- 【TOJ 2911】 Deli Deli【水题】
- POJ 3366 Deli Deli 可能会
- 【端午小练】HDU1804-Deli Deli
- HDU——1804 Deli Deli
- [字典树] HDU 1804 - Deli Deli
- 杭电OJ 1803 Deli Deli
- HDU 1804 Deli Deli (String)
- Deli Deli(简单的STL + 字符串)
- c++程序设计——实验3
- Maximum Gap
- 10个帮程序员减压放松的网站!
- 黑马程序员--学习日志4--JAVA循环体语句和控制跳转语句
- Leetcode Happy Number
- BNUOJ 1010 Deli Deli
- linux shell的一些技巧(一)使用{X..Y}以及${!XXX}
- XSLFO BLOCK
- (9-4)词库分词
- c++程序设计——实验2
- Servlet自学第16讲:HttpServletResponse对象详解
- java 线程(二)
- Android Bound Service(二) ----- Using AIDL
- Windows 驱动开发 - 1