zoukankan      html  css  js  c++  java
  • 子串个数统计

    题目描述

    编写程序,输入一个主字符串和一个子字符串,统计主字符串中包含的连续给定的子字符串的个数;当子字符串在主字符串中多次连续出现时,输出最大的连续次数。例如,主字符串 “EFABCABCABCDABCDD”,子字符串 “ABC”,输出是3.


    #include <stdio.h>
    
    int main()
    {
    	int flag=0;//f=0表示前面没有字串
    	int Max=0;
    	int count=0;
    	char sa[100]={''};
    	char sb[10]={''};
    	char *a=sa,*b=sb,*at;
    	gets(sa);
    	gets(sb);
    	while(*a!='')
    	{
    		at=a;
    		b=sb;
    		if(*b==*at)//子串的第一个字符与主串中的字符相等
    		{
    			while(*at!='')
    			{
    				if(*at==*b) 
    				{
    					at++;
    					b++;
    				}
    				else break;
    			}
    
    			if(*b=='')//主字符串中含有子字符串
    			{
    				if(flag)//前面由子字符串,计数累加
    				count++;
    				else
    				count=1;//前面没有子字符串,从1开始计数
    				if(count > Max) Max=count;
    				flag=1;
    				a=at;
    				continue;
    			}
    		}
    		flag=0;
    		a++;
    	}
    	printf("%d
    ",Max);
    	return 0;
    }//main
    
  • 相关阅读:
    Web学习之css
    Spring学习之第一个hello world程序
    MySQL基础学习总结
    Jmeter参数化
    mysql慢查询解析-linux命令
    mysql慢查询
    mysql_存储引擎层-innodb buffer pool
    mysql_Qcahce
    memocached基础操作
    Memcached安装配置
  • 原文地址:https://www.cnblogs.com/DismalSnail/p/10533947.html
Copyright © 2011-2022 走看看