A - 两只脑斧 Gym - 102174A

天天最近想要学习用口琴给筝筝吹情歌,但是他以前从来没有学过口琴,只能从最简单的两只脑斧开始学。而口琴有时吸气有时吹气的吹法让天天傻傻地分不清,所以他就只能拿着乐谱来找聪明的你了,快帮帮他!

已知天天使用的是 24
孔口琴,其音阶图如下,其中 1,2,⋯,7 七个阿拉伯数字表示基本的音阶,数字上方有.或:的音阶则分别表示该音阶的音调将在原音阶基础上增高一个八度或两个八度,例如音阶 3 的高八度为 3.。相应的,数字下方有.或:的音阶也分别表示降低一个八度或低两个八度的音调,例如音阶 5 的低二八度为 5:
图像地址

Input

输入共两行,第一行输入一个正整数 n (1≤n≤100)

,表示乐谱中有 n

个音符。

第二行输入 n

个由空格间隔开的字符串,每个字符串描述该乐谱中的一个音阶,这里使用符号+和-来分别表示音阶地高八度和低八度,例如上图的口琴乐谱的第一个音阶和最后一个音阶可以分别用5--和7+来表示。

Output

请输出 n

个字符描述的口琴吹法,其中第 i 个字符将描述第 i

个音阶的吹法,请用I表示吸气,用E表示吹气,用X表示停顿(在简谱中用0表示)。

Example
Input

34
1 2 3 1 1 2 3 1 3 4 5 3 4 5 5 6 5 4 3 1 5 6 5 4 3 1 2 5- 1 0 2 5- 1 0

Output

EIEEEIEEEIEEIEEIEIEEEIEIEEIEEXIEEX
#include <stdio.h>
#include <string.h>

int main()
{
    int i, len, n;
    char re[105], ch[5];
    char a[10] = {'0', 'E', 'I', 'E', 'I', 'E', 'I', 'I'};
    scanf("%d", &n);
    for(i=0;i<n;i++)
    {
        scanf("%s", ch);
        len = strlen(ch);
        if(strcmp(ch, "0")==0) re[i] = 'X';
        else if(len<=2) re[i] = a[ch[0]-'0'];
        else re[i] = 'E';
    }
    for(i=0;i<n;i++)
    {
        if(i==n-1) printf("%c\n", re[i]);
        else printf("%c", re[i]);
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值