求助大神c语言约瑟夫问题c语言???

算法-求助大神:c语言求最长公共子序列问题
作者:用户
浏览:466 次
求助大神:c语言求最长公共子序列问题我写的这个能正确求出最长序列元素个数但是输出的最长序列却是乱码,求大神指教。代码如下:#include#include#include#defineMAX101in
求助大神:c语言求最长公共子序列问题
我写的这个能正确求出最长序列元素个数但是输出的最长序列却是乱码,求大神指教。代码如下:
#define MAX 101
int Long(char a[],char b[],char result[] )
m=strlen(a);
n=strlen(b);
int str[MAX][MAX];
for(i=0;i&=m;i++)
str[i][0]=0;
for(i=0;i&=n;i++)
str[0][i]=0;
for(i=1;i&=m;i++)
for(j=1;j&=n;j++)
if(a[i-1]==b[j-1])
str[i][j]=str[i-1][j-1]+1;
else if(str[i-1][j]&str[i][j-1])
str[i][j]=str[i][j-1];
str[i][j]=str[i-1][j];
sum=str[m][n];
result[sum]='';
while(sum&=1)
if(a[m-1]==b[n-1])
result[--sum]=a[m-1];
else if(str[m-1][n]&str[m][n-1])
int main(void)
char a[MAX],b[MAX];
result[MAX];
printf("请输入数组a:n");
printf("请输入数组b:n");
Long(a,b,result);
printf("%dn",Long(a,b,result));
printf("%s",result);
system("PAUSE");
请输入数组a:
haaaaaaaaaghhhhahhhhhhhhhhhhhhhhhha
请输入数组b:
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Press any key to continue . . .
这个程序根本就不对
解决方案二:
#include&stdio.h&
#include&stdlib.h&
#include&string.h&
#define MAX 101
int cmp(const void * p, const void * q)
return strcmp(&t[*(int *)p], &t[*(int *)q]);
void Long(char* a, char* b, char ** c)
t = new char[strlen(a) + strlen(b) + 2];
strcpy(t, a);
t[strlen(a)] = '#';
strcpy(t + strlen(a) + 1, b);
i = new int[strlen(a) + strlen(b) + 1];
for (int j = 0; j & strlen(a) + strlen(b) + 1; j++) i[j] =
qsort(i, strlen(a) + strlen(b) + 1, sizeof(int), cmp);
int ma = 0;
*c = (t + i[0]);
for (j = 1; j & strlen(a) + strlen(b) + 1; j++)
int h = 0;
char * l = &t[i[j - 1]];
char * m = &t[i[j]];
if ((i[j - 1] & strlen(a) && i[j] & strlen(a)) || (i[j] & strlen(a) && i[j - 1] & strlen(a)))
while (*l == *m && (*l) !='#' && (*m) !='#')
if (h & ma)
*c = (t + i[j]);
(*c)[ma] = '';
int main(void)
char a[MAX], b[MAX];
printf("请输入数组a:n");
printf("请输入数组b:n");
Long(a,b,&c);
printf("%sn", c);
解决方案三:
把两个数组拼接在一起,用后缀数组排好序,再求最长公共子窜
解决方案四:
使用搜索引擎查找了一下,有很多的与源可供你参考:
【云栖快讯】红轴机械键盘、无线鼠标等753个大奖,先到先得,云栖社区首届博主招募大赛9月21日-11月20日限时开启,为你再添一个高端技术交流场所&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本帖子已过去太久远了,不再提供回复功能。C语言 很简单的问题,求助。
本回答由提问者推荐
var sogou_ad_id=731547;
var sogou_ad_height=160;
var sogou_ad_width=690;

我要回帖

更多关于 八数码问题c语言代码 的文章

 

随机推荐