萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:
[左手]([左眼][口][右眼])[右手]
现给出可选用的符号集合,请你按用户的要求输出表情。
输入格式:
输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并不超过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? @\/@
//出现段错误,部分错误,20分,只有12分,不知为什么?
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
string str1[10];
string str2[10];
string str3[10];
// string str4="Are you kidding me? @\ /@";
int ss1;//记录str1的长度
int ss2;
int ss3;
int n=3;
int m;
while(n!=0)//分别用三个string保存手,眼,口,找到【】的位置,赋值给字符串,有个功能,+
{
if(n==3)
{
char s[100];
cin.getline(s,100,'\n');
int b[10],c[10];
int j=0,k=0;
for(int i=0;i<strlen(s);i++)
{
if(s[i]=='[')
{
b[j++]=i;
}
if(s[i]==']')
{
c[k++]=i;
}
}
for(int x=0;x<j;x++)
{
for(int y=b[x]+1;y<c[x];y++)
{
str1[x]=str1[x]+s[y];
}
}
ss1=j;
}
else if(n==2)
{
char s[100];
cin.getline(s,100,'\n');
int b[10],c[10];
int j=0,k=0;
for(int i=0;i<strlen(s);i++)
{
if(s[i]=='[')
{
b[j++]=i;
}
if(s[i]==']')
{
c[k++]=i;
}
}
for(int x=0;x<j;x++)
{
for(int y=b[x]+1;y<c[x];y++)
{
str2[x]=str2[x]+s[y];
}
}
ss2=j;
}
else{
char s[100];
cin.getline(s,100,'\n');
int b[10],c[10];
int j=0,k=0;
for(int i=0;i<strlen(s);i++)
{
if(s[i]=='[')
{
b[j++]=i;
}
if(s[i]==']')
{
c[k++]=i;
}
}
for(int x=0;x<j;x++)
{
for(int y=b[x]+1;y<c[x];y++)
{
str3[x]=str3[x]+s[y];//
}
}
ss3=j;
}
n--;
}
cin>>m;
int a[m][5];
for(int i=0;i<m;i++)//输入你要输入的数据,二维数组的保存
{
cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3]>>a[i][4];
}
for(int i=0;i<m;i++)
{
if(a[i][0]>ss1 || a[i][1]>ss2 || a[i][2]>ss3 || a[i][4]>ss1 || a[i][3]>>ss2)
{
cout<<"Are you kidding me? @"<<"\\" <<"/"<<"@"<<endl;
break;
}
else{
cout<<str1[a[i][0]-1];
cout<<"(";
cout<<str2[a[i][1]-1];
cout<<str3[a[i][2]-1];
cout<<str2[a[i][3]-1];
cout<<")";
cout<<str1[a[i][4]-1];
}
cout<<endl;
}
}