PKU 3366 Deli Deli 题解

学过英语的就都知道怎么做
没学过的题目也看不懂的。
我这种水平的都能看懂所以感觉没什么好注意的了
 1#include<stdio.h>
 2#include<map>
 3#include<string>
 4using namespace std;
 5
 6map<string,int>p1;
 7
 8int main()
 9{
10    char str1[50],str2[50][50],str[50];
11    string s;
12    int m,n,len,i;
13    scanf("%d %d"&m, &n);
14    for(i = 0; i < m; i++)
15    {
16        scanf("%s %s",str1,str2[i]);
17        s = str1;
18        p1[s] = i;
19    }

20    while(n--)
21    {
22        scanf("%s",str);
23        s = str;
24        if(p1.count(s) == 1)
25        {
26            printf("%s\n",str2[p1[s]]);
27            continue;
28        }

29        len = strlen(str);
30        if(len == 1 && str[len-1== 'y')
31        {
32             str[len-1= 'i';
33            str[len] = 'e';
34            str[len+1= 's';
35            str[len+2= '\0';
36        }

37        else if(len > 1 && str[len-1== 'y' && str[len-2!= 'a' && str[len-2!= 'i' && str[len-2!= 'o' && str[len-2!= 'e' && str[len-2!= 'u')
38        {
39            str[len-1= 'i';
40            str[len] = 'e';
41            str[len+1= 's';
42            str[len+2= '\0';
43        }

44        else if(len > 1 && str[len-1== 'h' && (str[len-2== 's' || str[len-2== 'c'))
45        {
46            str[len] = 'e';
47            str[len+1= 's';
48            str[len+2= '\0';
49        }

50        else if(str[len-1== 's' || str[len-1== 'o' || str[len-1== 'x')
51        {
52            str[len] = 'e';
53            str[len+1= 's';
54            str[len+2= '\0';
55        }

56        else
57        {
58            str[len] = 's';
59            str[len+1= '\0';
60        }

61        printf("%s\n",str);
62    }

63    return 0;
64}

65
66

posted on 2008-07-20 22:06 gong 阅读(200) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(6)

随笔档案

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜