- 描述
A | A#=Bb | B | C | C#=Db | D | D#=Eb | E | F | F#=Gb | G | G#=Ab |
Ab minor | A# major | A# minor | C# major | Db minor |
D# major | D# minor | Gb major | Gb minor | G# major |
Each test case is described by one line having the format "note tonality", where "note" is one of the 17 names for the scale notes given above, and "tonality" is either "major" or "minor" (quotes for clarify).
For each case output the required answer, following the format of the sample.
Ab minor
D# major
G minor
Case 1: G# minor
Case 2: Eb major
Case 3: UNIQUE
#include <string.h>
#define ARR_LEN 10
int main()
{
char str1[ARR_LEN];
char str2[ARR_LEN];
int index = 0;
while(scanf("%s %s",str1,str2) != EOF)
{
getchar();
printf("Case %d: ",++index);
if(strcmp(str1,"A#") == 0)
{
printf("Bb %s\n",str2);
}
else if(strcmp(str1,"Bb") == 0)
{
printf("A# %s\n",str2);
}
else if(strcmp(str1,"C#") == 0)
{
printf("Db %s\n",str2);
}
else if(strcmp(str1,"Db") == 0)
{
printf("C# %s\n",str2);
}
else if(strcmp(str1,"D#") == 0)
{
printf("Eb %s\n",str2);
}
else if(strcmp(str1,"Eb") == 0)
{
printf("D# %s\n",str2);
}
else if(strcmp(str1,"F#") == 0)
{
printf("Gb %s\n",str2);
}
else if(strcmp(str1,"Gb") == 0)
{
printf("F# %s\n",str2);
}
else if(strcmp(str1,"G#") == 0)
{
printf("Ab %s\n",str2);
}
else if(strcmp(str1,"Ab") == 0)
{
printf("G# %s\n",str2);
}
else
{
printf("UNIQUE\n");
}
}
return 0;
}
#include<string>
using namespace std;
string trans(string a){
string b="";
if(a[1]=='#'){
b+=char((a[0]-'A'+1)%7+'A');
b+='b';
}else{
b+=char((a[0]-'A'+6)%7+'A');
b+='#';
}
return b;
}
int main(){
string a,b;
for(int t=1; cin>>a>>b; t++){
cout<<"Case "<<t<<": ";
if(a.length()==1)
cout<<"UNIQUE"<<endl;
else
cout<<trans(a)<<" "<<b<<endl;
}
return 0;
}