扑克牌排序问题
试题一: 有6副带不同底色的扑克牌, 其底色分别为红、绿、蓝、白、粉、紫6种颜色. 现要求编写程序对这6副牌进行排序, 排序规则及做题要求如下:
排序规则:
排序优先度为:
1. 属性优先度: 点数 > 底色 > 花色 (即: 在排序时, “点数”要比“颜色”和“花色”重要, 而“颜色”又比“花色”重要);
2. 点数优先度: 3 > 4 > 5 > 6 > 7 > 8 > 9 > 10 > J > Q > K > A > 2 > 小王 > 大王
3. 底色优先度: 红 > 绿 > 蓝 > 白 > 粉 > 紫
4. 花色优先度: 红心 > 黑桃 > 方块 > 梅花
要求:
1. 编写合理的数据结构表示每张牌, 并说明数据结构中每个域的含意; (5分)
2. 编写用来产生供排序使用的初始排列的6副牌(可以是任意顺序)的函数, 并对关键性语句进行必要的注释; (25分)
3. 编写对6副牌进行排序的函数, 并在适当位置进行注释, 以增强程序的可读性. (60分)
4. 编写主函数, 调用上述函数对6副牌进行排序. (5分)
5. 将排序前和排序后的扑克牌的排序情况, 分别输出到源程序所在目录(或称文件夹)中的两个文本文件中 (排序前的牌放在“Before.txt”中, 排序后的牌放在“After.txt”中); (5分)