“钢琴的音符有12种,A,A# (A-sharp), B, C, C#, D, D#, E, F, F#, G, and G#,同时按下三个音符,有三种情况,一种是Major chord,一种是Minor chord,最后一种是什么都不是unrecognized,假设按下的这三个音符按顺序排列分别是a,b,c,如果ab中间隔3个,bc之间隔2个,那么整个结果就是a Major chord,如果ab中间隔2个,bc之间隔3个,那么整个结果是a Minor chord(假定12种音符在琴键上是循环排列),给定三个音符,然你判断结果是上述三种中的哪一种”
由于他给的音符的顺序不确定,大小写也不确定,一个音符的两个名称给哪个也不确定,而且输出是要求原样,类型要输出大写,-___-……所以我们一步一步来。。。保留输入的形式方便输出;把音符的两个名称转化为带#的形式,然后转换成大写;比较恶心的是他的顺序也不确定,但是给定的三个它们的最终结果是一样的,那么给12种音符赋值为20,21,22,23,2……210,211, 三种的值相加是唯一的,所以。。。。。
代码很丑,体现了我做模拟题的一贯风格:
(更多…)