1052. 卖个萌 (20)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1052. 卖个萌 (20)相关的知识,希望对你有一定的参考价值。

萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:

[左手]([左眼][口][右眼])[右手]

现给出可选用的符号集合,请你按用户的要求输出表情。

输入格式:

输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并不超过10个符号;每个符号包含1到4个非空字符。

之后一行给出一个正整数K,为用户请求的个数。随后K行,每行给出一个用户的符号选择,顺序为左手、左眼、口、右眼、右手——这里只给出符号在相应集合中的序号(从1开始),数字间以空格分隔。

输出格式:

对每个用户请求,在一行中输出生成的表情。若用户选择的序号不存在,则输出“Are you kidding me? @\/@”。

输入样例:

[╮][╭][o][~\][/~]  [<][>]
 [╯][╰][^][-][=][>][<][@][⊙]
[Д][▽][_][ε][^]  ...
4
1 1 2 2 2
6 8 1 5 5
3 3 4 3 3
2 10 3 9 3

输出样例:

╮(╯▽╰)╭
<(@Д=)/~
o(^ε^)o
Are you kidding me? @\/@

code:
 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int deal(char s[],char a[][5])
 5 {
 6     int i,j,k = 0,l = 0;
 7     for(i = 0;i < strlen(s);i++)
 8     {
 9         if(s[i] == [)
10         {
11             for(j = i+1;s[j] != ];j++)
12             {
13                 a[k][l++] = s[j];
14             }
15             k++;
16             l = 0;
17         }
18     }
19     return k;
20 }
21 
22 int main()
23 {
24     char head[100] = {0},eye[100] = {0},mouth[100] = {0};
25     char h[10][5] = {0},e[10][5] = {0},m[10][5] = {0};
26     gets(head);
27     gets(eye);
28     gets(mouth);
29 
30     int sumh = deal(head,h);
31     int sume = deal(eye,e);
32     int summ = deal(mouth,m);
33 //    printf("%s",h[5]);
34     int n,i;
35     int a1,a2,a3,a4,a5;
36     scanf("%d",&n);
37     for(i = 0;i < n;i++)
38     {
39         scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5);
40         if(a1 > sumh||a2 > sume||a3 > summ||a4 > sume||a5 > sumh)
41         {
42             printf("Are you kidding me? @\\/@");    
43         }    
44         else if(a1 < 1||a2 < 1||a3 < 1||a4 < 1||a5 < 1)
45         {
46             printf("Are you kidding me? @\\/@");
47         }
48         //这个@\\/@好奇怪啊..   
49         else
50         {
51             printf("%s(%s%s%s)%s",h[a1-1],e[a2-1],m[a3-1],e[a4-1],h[a5-1]);
52         }
53         printf("\n");
54     }
55     
56     return 0;
57 }

 

以上是关于1052. 卖个萌 (20)的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级1052 卖个萌 (20 分)

PAT 1052. 卖个萌 (20)

PAT Basic 1052 卖个萌 (20 分)

PTA乙级 (1052 卖个萌 (20分),(substr函数))

PAT 1052. 卖个萌

1052 卖个萌