喵帕斯之短笛

喵帕斯之短笛

Time Limit: 1000MS Memory Limit: 65536KB
Problem Description

 

莲酱非常喜欢他的短笛,这次莲酱听到了一段很好听的音乐,但是莲酱想知道他的数字简谱怎么写,所以这个任务就交给你来完成了,输入一行字符串,只包含 "do re mi fa so la xi"。(do re mi fa so la xi 分别对应数字 1 2 3 4 5 6 7)

 

现在给出一个乐谱,请把他转化成莲酱需要的简谱。

Input

多组输入直到EOF。(组数小于100)

每组数据首先输入一个 N 代表接下来输入 N 个音符,接下来输入 N 个音符(只出现 do re mi fa so la xi)并且每个每个音符以空格隔开。(1 <= N <= 100)

Output

每组数据输出一行,为转化后乐谱,只出现 1 2 3 4 5 6 7 并以空格隔开。

Example Input

42
do do so so la la so fa fa mi mi re re do so so fa fa mi mi re so so fa fa mi mi re do do so so la la so fa fa mi mi re re do
26
mi do re mi mi do re mi mi la so mi do so so la mi so so la mi so so la mi re

Example Output

1 1 5 5 6 6 5 4 4 3 3 2 2 1 5 5 4 4 3 3 2 5 5 4 4 3 3 2 1 1 5 5 6 6 5 4 4 3 3 2 2 1
3 1 2 3 3 1 2 3 3 6 5 3 1 5 5 6 3 5 5 6 3 5 5 6 3 2



#include
#include
struct stu
{
    char str[100];
}p[100];        // 因为想要 字符串直接 比较 所以  要利用 这个 结构。
int main(void)
{
    char  a1[3] = "do", b1[3] = "re", c1[3] = "mi", d1[3] = "fa", a2[3] = "so", b2[3] = "la", c2[3] = "xi";
    int i, n, a[100];


    while(~scanf("%d", &n))
  {




    memset(a, 0, sizeof(a));
    for(i = 0; i <= n - 1; i++)
    {
        scanf("%s", p[i].str);
       if(strcmp(p[i].str, a1) == 0)
      {
        a[i] = 1;
      }
      if(strcmp(p[i].str, b1) == 0)
      {
        a[i] = 2;
      }
      if(strcmp(p[i].str, c1) == 0)
      {
        a[i] = 3;
      }
      if(strcmp(p[i].str, d1) == 0)
      {
        a[i] = 4;
      }
      if(strcmp(p[i].str, a2) == 0)
      {
        a[i] = 5;
      }
      if(strcmp(p[i].str, b2) == 0)
      {
        a[i] = 6;
      }
      if(strcmp(p[i].str, c2) == 0)
      {
        a[i] = 7;       
      }                            // 因为 要变成数字, 而 字符串 不能直接 变成数字(会出现 expression  array type 的error) 所以 想到 利用 一维数组 来储存数字。
    }


    for(i = 0; i <= n - 1; i++)
    {
        printf("%d%c", a[i], i == n - 1?'\n':' ');
    }
  }
    return 0;
}

你可能感兴趣的:(2017期末)