【算法笔记】B1052 卖个萌

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805273883951104

 1 #include <math.h>
 2 #include <stdio.h>
 3  
 4 char hand[10][5],eye[10][5],mouse[10][5];
 5  
 6 int  get_symbol(char p[][5]) //返回符号数
 7 {
 8     char c,i=0,j=0;
 9     while( (c=getchar()) !='\n')
10     {
11         if( c == '[')//进入
12         {
13             while( (c=getchar()) != ']' )//退出
14             {
15                 if(c == '\n') //读取到换行符返回   
16                     return (i-1);
17                 p[i][j] = c;
18                 j++;
19  
20             }
21             p[i][j] = '\0'; 
22             i++;
23             j=0;
24         }
25     }
26     return (i-1);
27 }
28  
29 main()
30 {
31     int hand_count,eye_count,mouse_count;
32     int n,i,a1,a2,a3,a4,a5;
33     hand_count = get_symbol(hand); //统计数量,接收符号
34     eye_count = get_symbol(eye);
35     mouse_count = get_symbol(mouse);
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         //判断越界 
41         if(a1-1 > hand_count || a5-1 > hand_count || a2-1 > eye_count || a4-1 > eye_count || a3-1 > mouse_count) //注意下标越界的情况
42         {
43             puts("Are you kidding me? @\\/@");
44         }
45         else if
46             (a1 < 0 || a2 < 0 || a3 < 0 || a4 < 0 || a5 < 0) 
47         {
48             puts("Are you kidding me? @\\/@");
49         }
50         else
51         {
52             printf("%s(%s%s%s)%s\n",hand[a1],eye[a2],mouse[a3],eye[a4],hand[a5]);
53         }
54     }
55  
56     return 0;
57 }

 

posted @ 2019-04-12 10:52  Resfeber  阅读(225)  评论(0编辑  收藏  举报