| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 785 人关注过本帖
标题:基础学习,巩固,为学习结构体做准备
只看楼主 加入收藏
youbin2014
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2015-5-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
基础学习,巩固,为学习结构体做准备
/**************************************************************************
编写一函数:int substring(char *str,char *sub),判断字符串sub是否是字符串str
的子串,若是子串,则返回子串位置,否则返回-1.
***************************************************************************/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int substring(char *str,char *sub)
{
    int lena,lenb,i = 0,j = 0;
    lena = strlen(str);
    lenb = strlen(sub);
    while(i < lena && j < lenb)
    {
        if(str[i] == sub[j])
        {
            j++;
            i++;
        }
        else
        {
            i = i + 1 - j;
            j = 0;
        }
        
    }
    if(j >= lenb)
        return i - lenb;
    return -1;
}

int main(void)
{
    char str[300];
    char sub[300];
    int m = 0;

    printf("please input str:");
    gets(str);
    printf("please input sub:");
    gets(sub);

    m = substring(str,sub);
    printf("m == %d\n",m);
    if(m == -1)
        printf("sub is not str son!\n");
    else
        printf("find the location is %d.\n",m);

    return 0;
}

2016-09-29 23:13
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:20 
while(i < lena && j < lenb)
    {
        if(str[i] == sub[j])
        {
            j++;
            i++;
        }
        else if(str[i]==sub[0])         
        {
           i++;
           j=1;
        }
        else {
            i++;
            j=0;
        }
        
    }
2016-09-30 14:23
youbin2014
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2015-5-5
收藏
得分:0 
回复 2楼 linlulu001
我这个程序的想法和你的想法是类似的,就是表述不一样。

新手坚持每天写一点短短的代码,也许很幼稚园,但是,坚持总比不写强,高手可以绕道。
2016-09-30 20:20
快速回复:基础学习,巩固,为学习结构体做准备
数据加载中...
 
   



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

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