来源:蜘蛛抓取(WebSpider)
时间:2017-05-25 12:55
标签:
c语言输出字符串
C语言:模拟实现strstr函数,若是子串,输出子串后面的字符串,否则输出null
#define _CRT_SECURE_NO_WARNINGS 1
#include&stdio.h&
#include&assert.h&
#include&stdlib.h&
char *my_strstr(char *arr1, char *arr2)
assert(arr1);
assert(arr2);
char *s1 = arr1;
char *p = arr2;
char *s2 =
while (*s1 != '\0')
while ((*s1 != '\0') && (*s2 != '\0') && (*s1 == *s2))
if (*s2 == '\0')
return s1;
return NULL;
int main()
char *arr1 = &abcdeff&;
char *arr2 = &abc&;
char *ret = my_strstr(arr1, arr2);
printf(&%s&, ret);
system(&pause&);c语言计算字符串中子串出现的次数函数
我的图书馆
c语言计算字符串中子串出现的次数函数
题目:计算字符串中子串出现的次数 1.程序分析: 2.程序源代码: #include&"string.h" #include&"stdio.h" main() {&char&str1[20],str2[20],*p1,*p2; int&sum=0; printf("please&input&two&strings\n"); scanf("%s%s",str1,str2); p1=str1;p2=str2; while(*p1!=) { if(*p1==*p2) {while(*p1==*p2&&*p2!=) {p1++; p2++;} } else p1++; if(*p2==) sum++; p2=str2; } printf("%d",sum); getch();}&
TA的最新馆藏找出n个字符串中出现次数最多的子串
找出n个字符串中出现次数最多的子串
该程序未考虑出错机制,同时效率比较低。只是算法比较简单一些,比较容易理解。
#include "stdafx.h"
#include &iostream&
#include &string&
#include &stdlib.h&
#define NUM 10
该函数找出字符串str中从begin开始到end结束的字符串
并将该字符串返回给result
输入值:
str&&& -- 字符串
begin& -- 开始的位置
end&&& -- 结束的位置
返回值:
result --返回符合要求的字符串
void getSubstr(const char *str, int begin, int end, char *result)
char *temp=
//cout《"strlen=="《strlen(str)《
//if(end&strlen(str))
for(int i=0;i&strlen(str);i++)
if(i&=begin && i&end)
*temp++=*(str+i);
*temp='\0';
输入值:
*str[]&& -- 字符数组
n&&&&& -- 字符数组中元素个数
*substr& -- 要匹配的字符串[nextpage]
返回值:
return值 -- *substr 在字符数组中匹配的次数
int match(char *str[], int n, const char *substr)
int num=0;
int lenSubstr=strlen(substr);
char *result = new char[255];
for(int i=0;i&n;i++)//第i个字符串
int len_i_str = strlen(str[i]);
for(int j=0;j&len_i_j++) //对第i个字符串的操作
getSubstr(str[i], j, j+lenSubstr, result);
if(strcmp(result,substr)==0)num++;
delete []
输入值:
*str[]&& -- 字符数组
n&&&& -- 字符数组中元素个数
返回值:
result&& -- 出现次数最多的字符串
return值 -- 出现次数最多的字符串出现的次数
int getResult(char *str[], int n,& char *result)
char *str_sub=new char[255];
for(int m=0;m&255;m++)
*(str_sub+m)='\0';
int num=0,max=0;
for(int i=0;i&n;i++)
for(int j=0;j&strlen(str[i]);j++)
for(int k=1;k&strlen(str[i]);k++)
//if((j+k)&strlen(str[i]))
getSubstr(str[i],j,j+k,str_sub);
if(*str_sub=='\0')
num = match(str, n, str_sub);
//cout《"strlen=="《strlen(str[i]);
//cout《" 第["《i《","《j《","《k《"]个str_sub子串="《str_
//cout《" 匹配次数:"《num《"次"《
if(num&=max && strlen(str_sub)&=strlen(result))
strcpy(result,str_sub);
//cout《"num="《num《",str="《result《
delete [] str_
int main(int argc, char* argv[])
char *str="chenqingtign";
char *result=new char[255];
int num=0;
for(int i=0;i&255;i++)
*(result+i)='\0';
char *str1[NUM]={"cheqing0ting0","cheting0ing0ing0","ing0tteeing0ddss","swering0","sdfvxing0","kjlning0","kjlning0","kjlning0","kjlning0","kjlning0"};
num=getResult(str1,NUM,result);
cout《"字符串:""《result《""共出现"《num《"次\n"《
delete []
return 0;
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&