用C语言编写一个单词接龙的小游戏任给两个字母a1和a2,玩家写出以a1开头的单词或词组,然后依次以前一个单词(或词组)最后一个字母开始的单词,或者前一个单词或词组最后两个(或三个)
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 02:43:16
![用C语言编写一个单词接龙的小游戏任给两个字母a1和a2,玩家写出以a1开头的单词或词组,然后依次以前一个单词(或词组)最后一个字母开始的单词,或者前一个单词或词组最后两个(或三个)](/uploads/image/z/9267021-45-1.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D%E6%8E%A5%E9%BE%99%E7%9A%84%E5%B0%8F%E6%B8%B8%E6%88%8F%E4%BB%BB%E7%BB%99%E4%B8%A4%E4%B8%AA%E5%AD%97%E6%AF%8Da1%E5%92%8Ca2%2C%E7%8E%A9%E5%AE%B6%E5%86%99%E5%87%BA%E4%BB%A5a1%E5%BC%80%E5%A4%B4%E7%9A%84%E5%8D%95%E8%AF%8D%E6%88%96%E8%AF%8D%E7%BB%84%2C%E7%84%B6%E5%90%8E%E4%BE%9D%E6%AC%A1%E4%BB%A5%E5%89%8D%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D%EF%BC%88%E6%88%96%E8%AF%8D%E7%BB%84%EF%BC%89%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E5%AD%97%E6%AF%8D%E5%BC%80%E5%A7%8B%E7%9A%84%E5%8D%95%E8%AF%8D%2C%E6%88%96%E8%80%85%E5%89%8D%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D%E6%88%96%E8%AF%8D%E7%BB%84%E6%9C%80%E5%90%8E%E4%B8%A4%E4%B8%AA%EF%BC%88%E6%88%96%E4%B8%89%E4%B8%AA%EF%BC%89)
用C语言编写一个单词接龙的小游戏任给两个字母a1和a2,玩家写出以a1开头的单词或词组,然后依次以前一个单词(或词组)最后一个字母开始的单词,或者前一个单词或词组最后两个(或三个)
用C语言编写一个单词接龙的小游戏
任给两个字母a1和a2,玩家写出以a1开头的单词或词组,然后依次以前一个单词(或词组)最后一个字母开始的单词,或者前一个单词或词组最后两个(或三个)字母开始的单词(或词组),直至该单词(或词组)的最后一个字母为a2.
功能要求:
a1和a2随机产生.
玩家从命令行输入单词或词组.
玩家所输入的单词或词组均保存至文件.
程序可检测玩家所输入的单词或词组是否符合游戏规则.
允许玩家选择开始新游戏、结束游戏或退出程序.
用C语言编写一个单词接龙的小游戏任给两个字母a1和a2,玩家写出以a1开头的单词或词组,然后依次以前一个单词(或词组)最后一个字母开始的单词,或者前一个单词或词组最后两个(或三个)
//囧,代码写好回来一看居然已经有推荐答案了.
#include
#include
#include
#include
#include
#define MAX 80
char buff[MAX+1];
char first[4];
char last;
bool spellCheck()
{
int p = 0;
while(buff[p] != 0)
{
if(buff[p] > 'z'||buff[p] < 'a')
return false;
p++;
}
return true;
}
bool syntaxCheck()
{
int len = strlen(first);
if(len == 3)
{
if(strncmp(first,buff,3) == 0)
return true;
else if(strncmp(&first[1],buff,2) == 0)
return true;
else if(strncmp(&first[2],buff,1) == 0)
return true;
}
else if(len == 2)
{
if(strncmp(&first[0],buff,2) == 0)
return true;
else if(strncmp(&first[1],buff,1) == 0)
return true;
}
else if(len == 1)
{
if(strncmp(&first[0],buff,1) == 0)
return true;
}
return false;
}
void getWord()
{
do
{
printf("请输入一个全小写的单词,和%s匹配\n",first);
scanf("%s",buff);
if(!spellCheck())
{
printf("拼写错误,请输入一个全小写的单词.\n");
continue;
}
if(strlen(buff) == 0)
{
printf("请输入一个单词.\n");
continue;
}
return;
}while(true);
}
void start()
{
FILE *fp = fopen("D:\\1.txt","w");//= 3)
strcpy(first,&buff[len-3]);
else
strcpy(first,buff);
printf("匹配成功,请继续输入.\n");
}
}
}
fclose(fp);
}
int main()
{
srand(GetTickCount());
start();
system("pause");
}