求解一道C语言题。。

如图... 如图 展开
 我来答
microroom
科技发烧友

2020-05-10 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1532万
展开全部
//AAACTCACATTCCACCTACTTTCACT
//ACT
//1234223432344234
//234
//AAACACAAACCCACAC
//ACT
//AAACACAAACCCACACT
//ACT
//AAAAAAAAA
//AAA
#include<stdio.h>
#include<string.h>
char str1[1024],str2[1024];
int main()
{
int n=0;
char *pt;
gets(str1);
gets(str2);
pt=str1;
while(pt&&(pt=strstr(pt,str2)))
{
printf("p=%d\n",pt-str1+1);
pt++;
n++;
}
printf("%d\n",n);
return 0;
}
追问
你这个好像死循环了
追答
运行过,没有
爱马香0C
2020-05-10
知道答主
回答量:40
采纳率:0%
帮助的人:4.1万
展开全部
不考虑性能优化,只考虑功能可以这么写:
#include "stdio.h"
#include "string.h"
#define MAX_STR_LEN 128
int main()
{
int i,j,m = 0;
int count = 0;
char str1[MAX_STR_LEN] = {0x00};
char str2[MAX_STR_LEN] = {0x00};
scanf("%s %s",str1, str2);
for(i = 0; i < strlen(str1); i++)
{

for(j = 0, m = 0; j< strlen(str2); j++)
{
if(str1[i + m] == str2[j])
{
m++;
}
else
break;
}
if(m == strlen(str2))
{
printf("p = %d\n", i+1);
count++;
}
}

printf("%d\n", count);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七擒关羽
2020-05-10 · TA获得超过114个赞
知道小有建树答主
回答量:491
采纳率:70%
帮助的人:64.8万
展开全部
字符查找功能,去看下strstr函数的源码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
崇枋菲f5
2020-05-10
知道答主
回答量:72
采纳率:20%
帮助的人:2万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南汐com
2020-05-11
知道答主
回答量:1
采纳率:0%
帮助的人:603
展开全部
⋯⋯⋯⋯⋯⋯⋯…⋯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式