当前位置: 首页 > news >正文

做网站优化有什么好处移动互联网开发报告总结

做网站优化有什么好处,移动互联网开发报告总结,百度热门关键词排名,佛山手机网站建设本文我们将学习如何去验证一个字符串是否是另一个字符串的子串。 一、小试牛刀#xff1a; 题目描述 输入两个字符串#xff0c;验证其中一个串是否为另一个串的子串。 输入格式 两行#xff0c;每行一个字符串。 输出格式 若第一个串 s 1 是第二个串 s 2 的子串#xff0c…本文我们将学习如何去验证一个字符串是否是另一个字符串的子串。 一、小试牛刀 题目描述 输入两个字符串验证其中一个串是否为另一个串的子串。 输入格式 两行每行一个字符串。 输出格式 若第一个串 s 1 是第二个串 s 2 的子串则输出(s1) is substring of (s2) 否则若第二个串 s 2是第一个串 s 1的子串输出(s2) is substring of (s1) 否则输出 No substring。 输入输出样例: 输入 1 abc dddncabca 输出 1 abc is substring of dddncabca 输入2 aaa bbb 输出 2 No substring 说明/提示: 对于 100%的数据字符串长度在 20 以内。 方法一 直接按照题目的思路来实现 此方法虽然代码量大但并不难想完全是按照题目的要求来实现所以不做过多解释。 #includeiostream #includestring using namespace std;void substring(string s1, string s2,int len1,int len2,int min) {int flag 0;if (min len1){int k 0;for (int i 0; i len2; i){int cnt 0;for (int j 0; j min; j){if (s1[j] s2[k]){cnt;k;}else break;}if (cnt min) { flag 1; break; }else flag -1; k i;}}else{int k 0;for (int i 0; i len1; i){int cnt 0;for (int j 0; j min; j){if (s2[j] s1[k]){cnt;k;}else break;}if (cnt min){ flag 0; break; }else flag -1; k i;}}if (flag -1) cout No substring endl;else if(flag0) cout s2 is substring of s1 endl;else cout s1 is substring of s2 endl;}int main(void) {string s1,s2;cin s1 s2;int len1 s1.length();int len2 s2.length(); int min len1 len2 ? len1 : len2;substring(s1, s2,len1,len2,min);return 0; } 方法二 利用cstring 库中的 strstr 函数查找 可以先用字符数组存字符串然后查找子串可以使用 cstring 库中的 strstr 函数未找到时返回 NULL。 先查找 b 是否是 a的子串再查找a是否是 b 的子串。如果都不是输出 No substring。 代码如下 #includeiostream #includecstring using namespace std; int main() {char a[25],b[25];cinab;if(strstr(a,b)!NULL)coutb is substring of a;else if(strstr(b,a)!NULL)couta is substring of b;elsecoutNo substring;return 0; } 方法三 利用 string 库里的函数来实现。 比如此时我们有一个 string 类型的变量 str string strhello world; 然后我们可以调用find函数来在 str中寻找是否含有子串hellostr.find(hello) 如果该函数的返回值为str.npos(表示无效则表示在 str 中不存在该子串否则存在。 代码如下 #include iostream #include string using namespace std; string a,b; int main() {cinab;if(a.find(b)!a.npos) //如果b是a的子串 {coutb is substring of aendl;}else if(b.find(a)!b.npos) //如果a是b的子串 {couta is substring of bendl;}else //如果没有子串关系 {coutNo substringendl;}return 0; } 方法四 使用Cstring库中的std::find()函数也可以实现字符串的查找操作此方法和方法三有点类似 std::find()函数可以在一个字符串中查找另一个字符串的第一次出现的位置 注意find函数若未找到的返回值为string::npos 代码如下 #includebits/stdc.h//万能头 using namespace std; string a,b; int main(){cinab;if(b.find(a)!string::npos) couta is substring of b;//a是b的子串else if(a.find(b)!string::npos) coutb is substring of a;//b是a的子串else coutNo substring;return 0; }二、拓展讲解 1. strstr()函数 strstr函数是C语言中的字符串处理函数用于在一个字符串中查找另一个字符串的第一次出现的位置。它的原型如下 char *strstr(const char *haystack, const char *needle);其中参数haystack是源字符串参数needle是要查找的目标字符串。 函数的返回值是一个指向找到的目标字符串在原字符串中的首个字符的指针。如果未找到目标字符串则返回NULL。 以下是一个使用strstr函数的例子 #include stdio.h #include string.hint main() {char str1[] Hello, world!;char str2[] world;char *result;result strstr(str1, str2);if (result ! NULL) {printf(%s found in %s at position %ld\n, str2, str1, result - str1);} else {printf(%s not found in %s\n, str2, str1);}return 0; }输出结果为 world found in Hello, world! at position 7这个例子中strstr函数找到了字符串world在字符串Hello, world!中的位置并返回了指向该位置的指针。 2. std::find()函数 C中的string库中的std::find()函数也可以在一个字符串中查找另一个字符串的第一次出现的位置。并且std::string::find()函数会返回一个位置索引如果找不到子串则返回std::string::npos。 在C中std::string::npos是一个特殊的静态成员变量它表示字符串中不存在指定的子串。 #include iostream #include string #include algorithmint main() {std::string str1 Hello, world!;std::string str2 world;std::size_t found str1.find(str2);if (found ! std::string::npos) {std::cout str2 found in str1 at position found std::endl;} else {std::cout str2 not found in str1 std::endl;}return 0; }输出结果为 world found in Hello, world! at position 7这个例子中std::find()函数找到了字符串world在字符串Hello, world!中的位置并返回了该位置的索引。如果未找到目标字符串则返回std::string::npos。 3. 域解析符 聪明的你可能已经发现了上面的方法三和方法四其实是一样的而这将关系到作用域的问题。 域解析符Scope resolution operator是C中的一个运算符用于访问命名空间、类、结构体、枚举等作用域内的成员。 域解析符使用两个冒号::表示语法形式为命名空间名::成员名或类名::成员名。 以下是一些使用域解析符的示例 访问命名空间的成员 namespace MyNamespace {int value 10; }int main() {std::cout MyNamespace::value std::endl;return 0; }访问类的静态成员 class MyClass { public:static int value; };int MyClass::value 20;int main() {std::cout MyClass::value std::endl;return 0; }访问类的成员函数 class MyClass { public:void printHello() {std::cout Hello std::endl;} };int main() {MyClass obj;obj.printHello();return 0; }在上述示例中域解析符用于访问命名空间的成员、类的静态成员和类的成员函数。它可以帮助我们在不同的作用域中访问到所需的成员。 因此a.find(b) ! a.npos的判断条件也是正确的a.npos其实就等同于string::npos,它用于判断字符串a中是否存在子串b。如果子串b存在于字符串a中a.find(b)的返回值不等于std::string::npos条件成立否则条件不成立。 好了今天的讲解就到这里了。我们今天主要学习了如何验证一个字符串是否是另一个字符串的子串并对strstr(),std::find()函数等进行了一定的学习。如果你有任何关于本篇文章的疑问都可以在评论区提出来我会一一解答。明天继续加油
http://www.w-s-a.com/news/852414/

相关文章:

  • 网站开发工具排名万户网络建一个网站虽要多少钱
  • 用凡科做的网站要钱吗WordPress城市切换
  • 制作一个门户网站需要多少钱营销型网站特征
  • 手机网站 多html中国建设银行网站包头分行
  • 哪个网站做免费广告好招牌图片效果图设计制作
  • 网站建设优化服务机构苏州市做网站
  • 网站如何优化流程企业网站管理系统视频教程
  • 我想克隆个网站 怎么做贵州住房和城乡建设厅官网
  • 网站建设项目前景上海今天新闻综合频道
  • 做网站推销的如何谈客户wordpress怎么做商城
  • 摄影素材库网站服装页面设计的网站
  • 如何用国外网站做头条做个游戏app的费用大概多少
  • 网站 形象入口页福州网站建设网络公司排名
  • 免费下载教学设计的网站送网站建设管理信息内容审核制度
  • 外贸专业网站的公司百度旗下13个app
  • 物理组简介 网站建设高师院校语言类课程体系改革与建设 教学成果奖申报网站
  • 爱网站无法登录怎么回事手表网
  • 网站建设公司现在还挣钱吗山西手动网站建设推荐平台
  • 重庆建设工程交易信息网站网站制作公司起名
  • 东莞寮步做网站的有吗企业宣传册制作
  • 做网站的软件是哪个上蔡做网站
  • 前后端分离实现网站开发紧急通知网页升级
  • 河北专业网站建设公司推荐佛山小程序开发平台
  • 网站开发强制开启浏览器极速模式建设网站有什么风险
  • 360全景网站建设常州专业网站建设公司咨询
  • 重庆大渡口网站建设网站增加一体化建设功能的好处
  • 网站开发完整视频网站上传 404
  • 自适应网站做推广北京建设工程招标网
  • 外贸网站设计注意事项网上商城官网入口
  • 正规的营销型网站建设公司微官网是网站吗