首页 > 代码库 > 1052. 卖个萌 (20)

1052. 卖个萌 (20)

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

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

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

输入格式:

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

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

输出格式:

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

输入样例:

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

输出样例:

╮(╯▽╰)╭<(@Д=)/~o(^ε^)oAre 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         else50         {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)