• PAT 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
    
    注意,要考虑用户输入序号小于1的情况,若不考虑最后两个测试点会过不去。
      1 #include<stdio.h>
      2 #include<string.h>
      3 #include<stdlib.h>
      4 #include<ctype.h>
      5 #include<math.h>
      6 
      7 int main(){
      8     char hand[50];
      9     char eye[50];
     10     char mouth[50];
     11     gets(hand);
     12     gets(eye);
     13     gets(mouth);
     14     char h[10][5],e[10][5],m[10][5];
     15     int h1=0,e1=0,m1=0;
     16     char *temp;
     17     int k = 0;
     18     int lenhand = strlen(hand);
     19     int leneye = strlen(eye);
     20     int lenmouth = strlen(mouth);
     21     
     22     for(int i=0;i<lenhand;i++){
     23         if(hand[i]=='['){
     24             temp = &hand[i+1];
     25             k = 1;
     26         }
     27         if(hand[i]==']'&&k){
     28             hand[i] = '';
     29             k = 0;
     30             strcpy(h[h1++],temp);
     31         }
     32         
     33     } 
     34     
     35     for(int i=0;i<leneye;i++){
     36         if(eye[i]=='['){
     37             temp = &eye[i+1];
     38             k = 1;
     39         }
     40         if(eye[i]==']'&&k){
     41             eye[i] = '';
     42             k = 0;
     43             strcpy(e[e1++],temp);
     44         }
     45         
     46     }
     47 
     48     for(int i=0;i<lenmouth;i++){
     49         if(mouth[i]=='['){
     50             temp = &mouth[i+1];
     51             k = 1;
     52         }
     53         if(mouth[i]==']'&&k){
     54             mouth[i] = '';
     55             k = 0;
     56             strcpy(m[m1++],temp);
     57         }
     58         
     59     }
     60     int n;
     61     scanf("%d",&n);
     62     int a[5];
     63     for(int i=0;i<n;i++){
     64         scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);
     65         k = 0;
     66         for(int q=0;q<5;q++){
     67             if(a[q]<1){
     68                 printf("Are you kidding me? @\/@");
     69                 k = 1;
     70                 break;
     71             }
     72             
     73             if(q==0||q==4){
     74                 if(a[q]>h1){
     75                     printf("Are you kidding me? @\/@");
     76                     k = 1;
     77                     break;
     78                 }
     79             }
     80             if(q==1||q==3){
     81                 if(a[q]>e1){
     82                     printf("Are you kidding me? @\/@");
     83                     k = 1;
     84                     break;
     85                 }
     86             }
     87             if(q==2){
     88                 if(a[q]>m1){
     89                     printf("Are you kidding me? @\/@");
     90                     k = 1;
     91                     break;
     92                 }
     93             }
     94         }
     95 
     96         for(int j=0;j<5;j++){
     97             if(k)
     98                 break;
     99             if(j==0||j==4){
    100                 printf("%s",h[a[j]-1]);
    101             }
    102             if(j==1||j==3){
    103                 if(j==1)
    104                     printf("(%s",e[a[j]-1]);
    105                 else
    106                     printf("%s)",e[a[j]-1]);
    107             }
    108             if(j==2){
    109                 printf("%s",m[a[j]-1]);
    110             }
    111         }
    112         printf("
    ");
    113         
    114     } 
    115     
    116 } 


  • 相关阅读:
    fsockopen
    Ambari安装之部署3个节点的HA分布式集群
    怎么让普通用户达到root用户也可以拥有权限修改文件(CentOS系统)
    谈大数据里各子项目搭建时的环境变量配置(深入)
    Zookeeper的多节点集群详细启动步骤(3或5节点)
    IntelliJ IDEA(Ultimate版本)的下载、安装和WordCount的初步使用(本地模式和集群模式)
    IDEA里如何多种方式打jar包,然后上传到集群
    Zookeeper(1、3、5节点)集群安装
    Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)
    Hadoop概念学习系列之Java调用Shell命令和脚本,致力于hadoop/spark集群
  • 原文地址:https://www.cnblogs.com/lolybj/p/6391340.html
Copyright © 2020-2023  润新知