永发信息网

关于C程序设计(C++)

答案:5  悬赏:80  手机版
解决时间 2021-04-12 14:15
编写一个程序,统计一个字符串在另一个字符串中的运行次数。(例如:若输入的字符串为“This is a book”,则“is”出现的次数为2。) (本人急求此程序!希望C高手们给予一些帮助!)
最佳答案
我提供个思路啊,可以用比较字符串大小的函数strcmp来实现,当两个字符串相等则说明该字符串出现过
全部回答
#include <iostream> #include <string> using namespace std; int main() { string a; getline( cin, a ); int i = -1, c = 0; while ( ( i = a.find( "is", i+1 ) ) != string::npos ) ++c; cout << c << endl; }

下面代码运行在vc++6.0下:#include <iostream.h> #include <stdio.h> #include <stdlib.h> int strlen(char *s) { for(int i=0;s[i]!='\0';i++); return i; }

int strstr(char *s1,char *s2) { int count=0; int i,j,endposition; endposition=strlen(s1)-strlen(s2); if(endposition>0) { for(i=0;i<=endposition;i++) { for(j=i;s1[j]==s2[j-i];j++) if(s2[j-i+1]=='\0')count++;//记录出现的次数 } } return count; }

void main() { char string1[100]; char string2[20]; int count=0; printf("Please Input String:");//原串 gets(string1); printf("Please inut subString:");//子串 gets(string2); count=strstr(string1,string2); cout<<string2<<"在"<<string1<<"中出现了:"<<count<<endl; }

程序运行结果:

用C++写就这样.

#include <iostream> #include <cstring> using namespace std;

int FindString(const char* dst, const char* str) { int count = 0; char* index; index = strstr(dst, str); while (index != NULL) { count++; index += strlen(str); index = strstr(index, str); } return count; }

int main() { char dst[128], str[128]; cout << "请输入一个字符串: "; cin.getline(dst, 128); cout << "请输入待查找字符串: "; cin.getline(str, 128); cout << "出现次数: " << FindString(dst, str) << endl; return 0; }

字符串1, 和要查找的字符串2.

遍历两个字符串.当字符串1中出现字符串2的首元素时.

进入一个循环.循环结束条件是字符串1与字符串2不相等.或者字符串2遇到结束符.

这个循环结束后,字符串2为字符串结束符,说明字符串1中出现了1次字符串2, 然后继续循环往下查找.

具体代码如下:

#include <stdio.h>

int main() { int i,is=0,cnt=0; char str[100],ch[10],*p; gets(str); gets(ch); p=str; while(*p) { i=0; if(*p == *ch) { while(*ch) { if(*(ch+i)!=*(p+i) || *(ch+i)=='\0') break; i++; } if(*(ch+i)=='\0') cnt++; } p++;

} printf("%d\n",cnt); return 0; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁给我个战地之王激活码?急!!!
换三星手机电池多少钱,三星手机买了一年以后
小孩多大自己睡觉好
高中没毕业能做什么样的工作?
浙江5+11的执行多少钱
人们常用春夜喜雨中的诗句
DNF的技能点怎样来得快?
心里愁得慌、烦咋办啊?
用什么才是减肥与美容的秘决
现在怎么不能关闭QQ相册图标了?
九宫煮麻辣烫地址在什么地方,想过去办事
玩问问能像农场一样小号帮大号吗?
“他什么时候回来?”和“他什么时候回来的”
矮子放屁下一句是什么,友情里不存在门当户对,
弈喻阅读答案
推荐资讯
华湘安置区地址有知道的么?有点事想过去
感恩节你最感恩谁?
何洁《你就是我的风景》的歌词是什么?
直线y=2x-4分别交x轴、y轴于A、B两点,O是圆点
lol怎么用软件封别人号
重庆回宜宾怎么走啊坐火车,汽车分别要好多钱
索爱K810i
怎样才知道他(她)是不是真的爱你?
这个方程式怎么解,急急急急急
单选题Iamsure________peopleknowthetruth
充值500元送60元等于打几折,怎样换算公式
求一款天翼手机铃声ringtone 是个圣诞节的背
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?