C 在一个字串s1中查找一子串s2,若存在则返回s1中s2的个数和位置

在一个字串s1中查找一子串s2,若存在则返回s1中s2出现次数和位置

#include<stdio.h>

#include<string.h>

void main()

{

char s1[100],s2[10];

int i,j,k,len1,len2,b[10];

gets(s1);

gets(s2);

len1=strlen(s1);

len2=strlen(s2);

for(i=0,k=0;i<len1;i++)

{

for(j=0;j<len2;j++)

if(s1[i+j]!=s2[j]) break;

if(j>=len2)

b[k++]=i+1;  //i从0开始计数的,所以位置是i+1

}

printf("%d\n",k);    //k为s2在s1中出现的次数

for(i=0;i<k;i++)

printf("%d ",b[i]);  //返回s2在s1中的位置,可能有多个

printf("\n");

}

C 在一个字串s1中查找一子串s2,若存在则返回s1中s2的个数和位置

时间: 2024-10-09 00:40:41

C 在一个字串s1中查找一子串s2,若存在则返回s1中s2的个数和位置的相关文章

数组问题 1.行列有序二维数组中查找2.在一组数成对出现的数中有两个数只出现一次3.在移位数组中查找一个数

一.在一个二维数组中,每一行都按从左到右递增的顺序排序,每一列都按从上到下的递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路: 首先选取数组中右上角的数字.如果该数字等于要查找的的数字,查找过程结束:如果该数字大于要查找的数字,剔除这个数字所在的列:如果该数字小于要查找的数字,剔除这个数字所在的行.也就是说如果要查找的数字不在数组的右上角,则每一次都在数组的查找范围剔除一行或一列,这样每一步都可以缩小查找的范围. 实现过程如下: 运行结果如下:

JS 数组中查找符合条件的数据索引

日常工作中经常会需要我们前端获取后端为我们传递的数据放在页面中渲染的问题.大批量的数据后端会根据具体的情况来放在数组中传递给我们,但是如果遇到数组中有需要特殊需要处理的数据怎么办?原来100个数据,渲染规则完全一致,这个时候我们用一个循环就可以搞定,但是有的时候需求并不会这样simple,也有100个数据中有任意个不定位置的特殊元素需要特殊处理,这个时候我们需要找一下解决办法: 1.首先将特殊的元素剔除掉,把剩余可以简单循环渲染的数据重新组成数组,首先进行第一步的渲染.这个时候我们可以用到的方法

java 11-8 在大串中查找小串的案例

1.统计大串中小串出现的次数 举例: 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun" 结果: java出现了5次 分析: 1.首先已经知道字符串 A:定义一个统计变量=0: B:在大串中查找小串是否存在,用 int indexOf(String str):返回指定字符在此字符串中第一次出现处的索引. a:如果返回的索引值是-1,则说明 大串中并不存在这个小串,输出统计变量 b:返回

java之字符串中查找字串的常见方法

1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引.      int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 函数数名:indexOf 调用方式:Object(String).indexOf(String str,int startIndex)或String.indexOf(String str) 参数说明:str需要查找的字串. startI

求一个字串中最长的连续字符串

举例子来说:对于字符串"1234abcdef1234567abcdefghijklmn",这个字串中最长的连续字符串为"abcdefghijklmn". int continumax(char *outputstr,char *inputstr) { char maxrecord[100] = {0}; int maxlength = 0; char currentrecord[100] = {0}; int currentlength = 0; char valu

将一个字串中含有全角的数字字符、字母、空格或&#39;%+-()&#39;字符转换为相应半角字符

/** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * * @access public * @param string $str 待转换字串 * * @return string $str 处理后字串 */ function make_semiangle($str) { $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' =>

java 判断一个字串中的字符全是字母

记录一个方法,用来判断一个字串中字符是否全为字母 public class MainClass { public static void main(String[] args){ String str = "hhhggdxszfff"; boolean is_boolean = isPhonticName(str); System.out.println(is_boolean); } public static boolean isPhonticName(String str) { c

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?        

[转]grep 在文本中查找内容

转自: http://www.lampweb.org/linux/3/27.html 功能:grep系列是Linux中使用频率最高的文本查找命令.主要功能在一个或者多个文件中查找特定模式的字符串.如果该行有匹配的字符串,则输出整个行的内容.如果没有匹配的内容,则不输出任何内容.grep命令不改动源文件.Linux的grep家族包括grep.egrep.fgrep.rgrep.grep可以通过-G.-E.-F命令行选项来使用egrep和fgrep的功能. 语法:grep [选项] PATTERN