试题1:设计一个自动饮料售卖机,饮料10分钱,硬币有5分和十分两种,并考虑找零。
试题解析:
饮料10分钱,硬币有5分、10分两种,投币一次或者两次,累计大于或者等于10分时,饮料弹出,有多余的硬币,也会弹出,由此可知,可以分为两个状态,一个是0分,一个是5分。
累计的币值等于10分,则弹出饮料,找零0分;累计的币值为15分,则弹出饮料,找零5分。
状态转移图:
代码设计: