学堂在线c++进阶 编程题10-3
2015-07-09 10:22
796 查看
题目描述
给定一个串a和串b,求b在a中出现次数
(友情提示可以使用stl::count函数)
输入描述
字符串a,b的长度1<= len(a)<=100, 1<=len(b)<=len(a)
输出描述
一个数字
样例输入
样例输出
2
#include<iostream>
#include<string>
using namespace std;
int main()
{
int num=0;
string m,n;
cin>>m>>n;
int flag1=0;
for(int i=0;i<m.length();i++)
{
if(m[i]==n[0])
{
int k=i;
int flag=1;
for(int j=0;j<n.length();j++,k++)
{
if((m.length()-k)<n.length()-j) //防止原字符串长度已小于要寻找的
{
flag1=1;
flag=0;
break;
}
if(m[k]!=n[j])
flag=0;
}
if(flag)
num++;
}
if(flag1)
break;
}
cout<<num<<endl;
}
给定一个串a和串b,求b在a中出现次数
(友情提示可以使用stl::count函数)
输入描述
字符串a,b的长度1<= len(a)<=100, 1<=len(b)<=len(a)
输出描述
一个数字
样例输入
ababac aba
样例输出
2
#include<iostream>
#include<string>
using namespace std;
int main()
{
int num=0;
string m,n;
cin>>m>>n;
int flag1=0;
for(int i=0;i<m.length();i++)
{
if(m[i]==n[0])
{
int k=i;
int flag=1;
for(int j=0;j<n.length();j++,k++)
{
if((m.length()-k)<n.length()-j) //防止原字符串长度已小于要寻找的
{
flag1=1;
flag=0;
break;
}
if(m[k]!=n[j])
flag=0;
}
if(flag)
num++;
}
if(flag1)
break;
}
cout<<num<<endl;
}
相关文章推荐
- C语言指针初探
- C语言实现将彩色BMP位图转化为二值图
- 黑马程序员——C语言基础---复杂数据类型(数组,字符串)
- C++ 递增/递减运算符和指针
- C 字符数组 字符指针
- Restore IP Addresses : 0ms
- C/C++标准函数库
- C/C++中的日期和时间 time_t与struct tm变换
- 分析C语言的声明
- C++的取内容重载和乘法重载对比
- C语言,链表反转
- cout运算顺序(←)
- new/malloc 分配二维数组存储空间
- 黑马程序员——C语言基础---内存剖析
- C++字典树
- Sudoku Solver : 53 lines and 12 ms
- C语言文件操作(转载)
- C/C++变量命名习惯
- C++的内存管理
- 手动编译cpp文件(window下)