求帮忙解决英文单词词语接龙,要求用C语言编写,
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 23:08:59
求帮忙解决英文单词词语接龙,要求用C语言编写,
在英文中由于英文单词长度不不一,有所变化,规定前一个单词尾部若干个字母与后一个单词的开头若干个字母相同,则接龙成功,如romantic,anticlimax两个单词可接龙,称’antic’ 为连接串,而committee,eerily,其连接串是’e’、’ee’,设计一个算法,判断两个词是否能够“接龙”成功,如果能接龙,则求取最大长度的“连接串”.选择擅长的程序设计语言,实现该算法并分析其算法复杂度.(单词由小写英文字母组成,最多不超过5000个字符).
输入:romantic //第1行
anticlimax//第2行
输出:antic
输入:come
October
输出:接龙不成功
在英文中由于英文单词长度不不一,有所变化,规定前一个单词尾部若干个字母与后一个单词的开头若干个字母相同,则接龙成功,如romantic,anticlimax两个单词可接龙,称’antic’ 为连接串,而committee,eerily,其连接串是’e’、’ee’,设计一个算法,判断两个词是否能够“接龙”成功,如果能接龙,则求取最大长度的“连接串”.选择擅长的程序设计语言,实现该算法并分析其算法复杂度.(单词由小写英文字母组成,最多不超过5000个字符).
输入:romantic //第1行
anticlimax//第2行
输出:antic
输入:come
October
输出:接龙不成功
#include
main()
{
char s1[100],s2[100];
int i,j;
for(i = strlen(s1)-1,j=0; i>= 0 && j < strlen(s2); i--,j++)
if(s1[i] != s2[j])
break;
if(j == 0)
printf("接龙不成功\n");
else
printf("%s\n",s1[i+1]);
}
再问: 谢谢你的答案,但是这个运行的时候有一个错误,我不知道怎么修改。能否再完善一点?麻烦你了
再答: #include
#include
main()
{
char s1[100], s2[100];
int i, j;
\x09printf("输入两个英文单词: ");
\x09scanf("%s %s", s1, s2);
for(i = strlen(s1)-1, j=0; i>= 0 && j < strlen(s2); i--, j++)
if(s1[i] != s2[j])
break;
if(j == 0)
printf("接龙不成功\n");
else
printf("%s\n", s1+i+1);
}
再问: 您刚刚给发的代码我运行了一遍,运行结果是 接龙不成功,不能运行出之前的要求输入:romantic //第1行
anticlimax//第2行
输出:antic
这个结果,您知道应该怎么修改吗?麻烦啦
再答: 之前看错题的意思了
#include
#include
main()
{
char s1[100], s2[100], b=0;
int i, j;
\x09printf("输入两个英文单词: ");
\x09scanf("%s %s", s1, s2);
\x09i = strlen(s1) - 1;
for(j=0; j < strlen(s2) && j
main()
{
char s1[100],s2[100];
int i,j;
for(i = strlen(s1)-1,j=0; i>= 0 && j < strlen(s2); i--,j++)
if(s1[i] != s2[j])
break;
if(j == 0)
printf("接龙不成功\n");
else
printf("%s\n",s1[i+1]);
}
再问: 谢谢你的答案,但是这个运行的时候有一个错误,我不知道怎么修改。能否再完善一点?麻烦你了
再答: #include
#include
main()
{
char s1[100], s2[100];
int i, j;
\x09printf("输入两个英文单词: ");
\x09scanf("%s %s", s1, s2);
for(i = strlen(s1)-1, j=0; i>= 0 && j < strlen(s2); i--, j++)
if(s1[i] != s2[j])
break;
if(j == 0)
printf("接龙不成功\n");
else
printf("%s\n", s1+i+1);
}
再问: 您刚刚给发的代码我运行了一遍,运行结果是 接龙不成功,不能运行出之前的要求输入:romantic //第1行
anticlimax//第2行
输出:antic
这个结果,您知道应该怎么修改吗?麻烦啦
再答: 之前看错题的意思了
#include
#include
main()
{
char s1[100], s2[100], b=0;
int i, j;
\x09printf("输入两个英文单词: ");
\x09scanf("%s %s", s1, s2);
\x09i = strlen(s1) - 1;
for(j=0; j < strlen(s2) && j