QQ登录

只需一步,快速开始

扫一扫,访问微社区

登录 | 注冊 | 找回密码

163 加中网–加拿大曼尼托巴中文门户网站 | 温尼伯华人论坛

 找回密码
 注冊

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 267|回复: 2
打印 上一主题 下一主题

[闲聊] 难题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-5-4 07:37:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
# include <stdio.h>
# include <string.h>
# define    N   100
char  a[N],b[N],str[N];
int lcs_len(char  *a,  char  *b, int c[][N])
{   int  m=strlen(a),   n=strlen(b), i,j;
  for (i=0;i<=m;i++)      c[0]=0;
  for (j=0;j<=n;j++)      c[0][j]=0;
  for (i=1;i<=m;i++)   
     for (j=1;j<=n;j++)
        if (a[i-1]==b[j-1])
           c[j]=c[i-1][j-1]+1;
        else   if (c[i-1][j]>=c[j-1])
              c[j]=c[i-1][j];
           else
              c[j]=c[j-1];
  return c[m][n];
}
char *buile_lcs(char s[],char *a, char *b)
{  int  k, i=strlen(a),  j=strlen(b),c[N][N];
  k=lcs_len(a,b,c);
  s[k]='\0';
  while (k>0)
     if (c[j]==c[i-1][j])   i--;
     else   if   (c[j]==c[j-1])   j--;
            else {   s[--k]=a[i-1]; i--;   j--;  }
  return s;
}
void main()
{   printf ("Enter  two  string(<%d)!\n",N);
   scanf("%s%s",a,b);
   printf("Lcs=%s\n",build_lcs(str,a,b));
}
问题:请问如果输入字符串:asdfghj 和字符串: sdf 程序回输出什么样的结果?为什么??? 我在Turboc中调试的时候如果输入字符串:asdfghj 和字符串:sdf后运行的结果是:Lcs= (就是说对build_lcs函数的调用没起到作用).当然在编译和连接是都是正确的.哪为高手帮帮忙,谢谢!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享
回复

使用道具 举报

该用户从未签到

2#
发表于 2024-4-22 14:25:05 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2024-4-22 14:26:15 | 只看该作者
回复 支持 反对

使用道具 举报

发表回复
您需要登录后才可以回帖 登录 | 注冊

本版积分规则

    联系我们
  • 咨询电话:1.204.294.8528
  • 邮箱:163adv@gmail.com
  • QQ:179091654
    移动客户端:即将开放
    关注我们:
  • 扫描二维码加关注

快速回复 返回顶部 返回列表