网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月31日
漏签
0
天
c语言吧
关注:
799,057
贴子:
4,359,663
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
26
回复贴,共
2
页
,跳到
页
确定
<<返回c语言吧
>0< 加载中...
求教高手啊~一道关于数组的C程题,THX~
只看楼主
收藏
回复
灿烂夏天cly
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
编写实现从两字符行中找出最长公共子串。
应用的知识应该是数组和指针的,不用函数不用链表不用输入输出流。用VC++6.0编译。。。
哪位高人帮忙解答下,感激不尽。。。
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
貌似很难
2025-08-31 10:56:49
广告
不感兴趣
开通SVIP免广告
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
期待高人
O2_mO
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
双循环比较.比较函数递归.存取下标
125.123.63.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
设有两个字符串,A 和 B,长度分别为 La 和 Lb
1.测出 La 和 Lb
2.比较 La 和 Lb的大小,较长的记为字符串 L(长l),较短的记为字符串 S(长s)
,则最长公共子串的长度必然要小于等于 s
3.在 L 中 查找 S的子字符串(包括S本身),第一次找到的就是最长公共子串,
子串要从长度s ,递减到 1
hello welcome!
come here!
在hello welcome!中
先找come here!
找不到再找come here和ome here!
找不到再找come her和ome here和me here!
找不到再找....
...
一直找到come
124.161.164.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
多年以前写过的东西 自己都忘了怎么写的了 慢慢参考把
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define max_str_size 2000
char *max_sub_str(char *str1,char *str2);
int main(int argc,char *argv[]){
char string1[max_str_size];
char string2[max_str_size];
char *result;
printf("the first string:");
scanf("%s",string1);
printf("the second string:");
scanf("%s",string2);
result = strlen(string1)>strlen(string2)?
max_sub_str(string1,string2):max_sub_str(string2,string1);
if(!result || strlen(result) == 1){
printf("find no sub string!\n");
exit(0);
}else{
printf("length:%d\nmax sub string:%s\n",\
strlen(result),result);
}
return 0;
}
char *max_sub_str(char *str1,char *str2){
char *src = str1,*dest = str2;
char *res = NULL;
int res_size = 0;
int sub_str_size = 0;
while(*src != '\0'){
char *op = dest;
while(*op != '\0'){
if(*op == *(src+res_size)){
res_size++;
op++;
}else if((*op != *(src+res_size)) && res_size){
if(res == NULL){
res = (char *)malloc(res_size*sizeof(char));
strncpy(res,op-res_size,res_size);
}
if(res_size > strlen(res)){
free(res);
res = (char *)malloc(res_size*sizeof(char));
strncpy(res,op-res_size,res_size);
}
op++;
res_size = 0;
continue;
} else{
op++;
}
};
if(res == NULL){
res = (char *)malloc(res_size*sizeof(char));
strncpy(res,op-res_size,res_size);
res_size = 0;
}
if(res_size > strlen(res)){
free(res);
res = (char *)malloc(res_size*sizeof(char));
strncpy(res,op-res_size,res_size);
res_size = 0;
}
src++;
res_size = 0;
};
return res;
}
哀伤之月
大能力者
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
O(n^2) 就可以了
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
6楼不行
2025-08-31 10:50:49
广告
不感兴趣
开通SVIP免广告
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
5楼说得轻巧 你那算法很难实现
等高人
124.161.164.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
LS的兄台 我这里又可以 为啥呢? 给我个理由??? 一摸一样的呢
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
。。。 咋回事?
124.161.164.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好神奇哦 呵呵 呵呵呵
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你的算法能说下吗?看怎么实现的
娄国栋
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
int main(int argc,char *argv[])主函数传递两个参数有什么作用吗?
2025-08-31 10:44:49
广告
不感兴趣
开通SVIP免广告
124.161.164.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
两个字符串 如果有公共字串 那么字串一定在最短的那个字符串里面
于是
以最短的字符串做依据 从第一个字母开始 去另一个字符串里面找 找到相同的字母 然后比较紧接着的下一个字母是否相同 如果相同 则比较第三个 依次类推 直至出现不相同的 那么就会找到一个公共字串 记录下来(因为还可能找到更长的公共子串)
然后从最短的字符串取第二个字母为依据 采用相同的办法 找出一个子串 和上一次找的结果比较 如果更长 则覆盖上一次找的结果
剩下的类推 直至把最短的字符串全部遍历完 结果也就出来了
整个就是暴利匹配的过程
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示