关于字符串匹配计数和编程思想方法
2016-03-14 21:04
337 查看
/*
题目如下:
使用VC6打开考生文件夹下的源程序文件modi2.cpp.
请完成fun(char* s1,char* s2),此函数的功能是计算s1
中出现s2的个数,当不出现时,则返回0.
如:
s1为”1112223333aaaaeeffd”
s2为”11”则返回1
s2为”aa”则返回2
*/
这是一道二级C++题目
一、首先,用基本的图解来描述一下思路:
二、用随意自己的语言写下大致过程,有特殊情况到一般情况:
对于S1首位,
if S2[0]=S1[0];
…
s2[n-1]=s1[n-1];
则->对输出标志位增一
然后是一般情形,
s2[0]=s1[k-1]
…
s2[m-1]=s1[m-1+k-1]
三、写下基本的程序、
四、带入一些简单的例子检验对否。
这里我带入的是111111111,和111
题目如下:
使用VC6打开考生文件夹下的源程序文件modi2.cpp.
请完成fun(char* s1,char* s2),此函数的功能是计算s1
中出现s2的个数,当不出现时,则返回0.
如:
s1为”1112223333aaaaeeffd”
s2为”11”则返回1
s2为”aa”则返回2
*/
这是一道二级C++题目
一、首先,用基本的图解来描述一下思路:
二、用随意自己的语言写下大致过程,有特殊情况到一般情况:
对于S1首位,
if S2[0]=S1[0];
…
s2[n-1]=s1[n-1];
则->对输出标志位增一
然后是一般情形,
s2[0]=s1[k-1]
…
s2[m-1]=s1[m-1+k-1]
三、写下基本的程序、
include "stdafx.h" include "iostream" using namespace std; int fun(char* s1, char* s2) { int flag = 0; //求字符指针的长度也可以这么求 //int s1len; //for(s1len=0;s1[s1len]!=0;s1len++) //这个是用累计来计算 for (int i = 0; i < strlen(s1); i++)//最后的i是等于strlen(s1)的 { int j = 0; for (; j < strlen(s2);j++) { if (s2[j] != s1[j + i]) break; } if (j == strlen(s2)) { i += strlen(s2); flag++; i--; } } return flag; } int _tmain(int argc, _TCHAR* argv[]) { int delay; char s1[1024]; char s2[256]; cout << "please input a string:" << endl; cin.getline(s1, 1024); cout << "please input other string:" << endl; cin.getline(s2, 256); cout << fun(s1, s2); cout << endl; cin >> delay; return 0; }
四、带入一些简单的例子检验对否。
这里我带入的是111111111,和111
相关文章推荐
- C 语言基础(三)
- PythonChallenge Mission 8
- 【C/C++语法】Chapter 1
- Java —内部类
- 2015级C++第3周实践项目
- Python自然语言处理-系列一
- 修改 JVM 输出数组
- 我与小娜(36):人机大战第五局,AlphaGo必胜!
- struts2上传下载文件
- <<Effective C++>>读书笔记(二)
- x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()
- Java设计模式之单例(Singleton)模式
- x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()
- iOSDay07之C语言指针
- [Java开发之路](21)Comparator与Comparable
- eclipse启动无响应,停留在Loading workbench状态,或老是加载不了revert resources
- C++11 现代C++风格的新元素--简介
- c++第二次实验
- CLS----公共语言规范
- c++析构函数为什么要为虚函数