| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2086 人关注过本帖
标题:判断后一个字符串是否是前一个字符串的子串?帮忙填空
只看楼主 加入收藏
lzxm160
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-26
收藏
 问题点数:0 回复次数:5 
判断后一个字符串是否是前一个字符串的子串?帮忙填空
#include<stdio.h>
#include<string.h>
#include<malloc.h>
void main()
{
    char *p1, *p2;
    int i, j, n = 0, leng;
    p1 = (char *)malloc(100);
    p2 = (char *)malloc(100);
    scanf("%s%s", p1, p2);
    printf("%s\t%s\n", p1, p2);
    while (*p1 != *p2 && *p1 != '\0')
        --------;

    leng = strlen(p2);
    while (*p2 != '\0' && *p1 != '\0')
    {
        if (*p1 == *p2)
            ----------;
        p1++;
        p2++;
    }
    printf("n=%d  leng=%d\n", n, leng);
    if (--------------)
        printf("yes\n");
    else
        printf("no\n");
    free(p1);free(p2);

}
搜索更多相关主题的帖子: 字符 leng printf 填空 
2008-01-08 21:21
camelbupt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-28
收藏
得分:0 
void main()
{
    char *p1, *p2;
    int i, j, n = 0, leng;
    p1 = (char *)malloc(100);
    p2 = (char *)malloc(100);
    scanf("%s%s", p1, p2);
    printf("%s\t%s\n", p1, p2);
    while (*p1 != *p2 && *p1 != '\0')
        p1++--------;

    leng = strlen(p2);
    while (*p2 != '\0' && *p1 != '\0')
    {
        if (*p1 == *p2)
            ++n----------;
        p1++;
        p2++;
    }
    printf("n=%d  leng=%d\n", n, leng);
    if (n==leng--------------)
        printf("yes\n");
    else
        printf("no\n");
    free(p1);free(p2);

}
2008-01-08 21:44
camelbupt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-28
收藏
得分:0 
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void main()
{
    char *p1, *p2,*p11,*p22;
    int n = 0, leng;
    p1 = (char *)malloc(100);
    p2 = (char *)malloc(100);
    p11=p1;
    p22=p2;
    scanf("%s%s", p1, p2);
    printf("%s\n%s\n", p1, p2);
    while (*p1 != *p2 && *p1 != '\0')
        p1++;

    leng = strlen(p2);
    while (*p2 != '\0' && *p1 != '\0')
    {
        if (*p1 == *p2)
            ++n;
        p1++;
        p2++;
    }
    printf("n=%d,leng=%d\n", n, leng);
    if (n==leng)
        printf("yes\n");
    else
        printf("no\n");
    free(p11);
    free(p22);
    system("pause");
}
你那个程序有点问题,最后free有点问题,改了一下,似乎ok了^_^
2008-01-08 21:56
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
kmp算法!
2008-01-08 22:03
lzxm160
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-26
收藏
得分:0 
i和j似乎没有用上  这个是研究生考试题  而且这样调试出来的程序要是主串中有重复的字符串就会出错
2008-01-08 22:32
camelbupt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-28
收藏
得分:0 
对头,找个程序很不完善,只能对付简单点的
第一次出现不完整的,后面出现完整的字符串就无法实现功能了
呵呵
2008-01-08 22:38
快速回复:判断后一个字符串是否是前一个字符串的子串?帮忙填空
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.121728 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved