C/C++拼字游戏[2023-10-17]
程序设计题14:拼字游戏
1 问题描述
拼字游戏历史悠久,能锻炼人的思维和提高单词记忆量。在欧美报纸的版面中经常会见到。本题只是简单地演示单组交叉词。所谓单组交叉词,是指两个单词交叉放置,一个水平放置,另一个垂直放置,交叉点是两个单词都共用一个字母,而且交叉点遵循交叉靠前原则,即这公用的字母尽量在水平单词的前方,然后也尽量在垂直单词的上方。例如:DEFER,PREFECT(前一个为水平单词)的交叉点是E,而PREFECT,EDFER的交叉点是R。双交叉词是指有两组单组交叉词,它们的水平单词放在同一行。试编程将输入的每四个一组的单词尽可能组成双交叉词。
2 功能要求
实现拼字游戏的程序,完成基本功能要求。
输入:输入文件由若干行组成,每行有四个单词,按顺序每两个为一组,每组第一个单词为水平单词,每个单词由1到10个大写字母组成,单词之间用一个空格隔开。最后一行由一个"#“结束。
输出:输出文件由一系列双交叉词组成,每个水平单词之间隔三个空格。若不能构成双交叉词,则显示"Unable to make two crosses”。每组双交叉词间空一行。
输入样例:
AT PART RIGHT BUT
PEANUT BANANA VACUUM GREEDY
#
输出样例:
B
P U
AT RIGHT
R
T
或者 Unable to make two crosses
【其他要求】
要求有合理的算法设计,容错处理,可参考游戏经历增加相关功能。
3 开发环境
开发工具可以选择TC2.0、TC3.0、VC++ 6.0或者Dev C++等C++开发工具,或者与老师讨论选择自己熟悉的开发工具与平台,鼓励采用MFC等开发工具,实现彩色或图形操作界面。