北航机试-字符串的查找删除(C++)
2017-01-06 18:33
169 查看
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。
输入:
输入只有1组数据。 输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。
输出:
删除输入的短字符串(不区分大小写)并去掉空格,输出。
样例输入:
in #include int main() { printf(" Hi "); }
样例输出:
#clude tma() { prtf("Hi"); }
提示:
注:将字符串中的In、IN、iN、in删除。
#include <iostream> #include <string> using namespace std; int main(){ string str_in,str,x="",y,square = " "; int index,k; //cin>>str_in; //cin.ignore(); getline(cin,str_in); int len = str_in.size(); for(int i=0;i<len;i++) { x += tolower(str_in[i]); } while(getline(cin,str)) { y =""; index =0; for(int j =0;j<str.size();j++) { y += tolower(str[j]); } while((k = y.find(x,index)) != string::npos) { y.erase(k,len); str.erase(k,len); index = k; } index = 0; while((k = str.find(square,index)) != string::npos) { y.erase(k,1); str.erase(k,1); index = k; } cout<<str<<endl; } return 0; }
//#include<stdio.h> #include<iostream> #include<vector> #include<string> using namespace std; int main() { string s="", s1="",s2 = ""; getline(cin, s); int pos = 0; int len = s.size(),lens1; for (int i = 0; i < len; i++) { s[i] = tolower(s[i]); } int kongge = 0; while (getline(cin,s1)) { lens1 = s1.size(); s2 = ""; for (int i = 0; i < lens1; i++) { s2 += tolower(s1[i]); } do { pos = s2.find(s); if (pos != string::npos) { s1.replace(pos, len, ""); s2.replace(pos, len, ""); } } while (pos != -1); do { kongge = s1.find(" "); if (kongge != string::npos) s1.replace(kongge, 1, ""); } while (kongge != -1); cout << s1 << endl; } } //abort()has been called,这是因为指针非法访问内存,注意检查指针的范围,上述代码是笔者参考前一个代码段来写的
相关文章推荐
- 北航机试-字符串的查找删除(C++)
- 北航2009机试——字符串的查找删除
- 北航2009机试——字符串的查找删除
- 北航研究生复试2009上机第三题:字符串查找删除
- 北航计算机机试09字符串的查找删除
- [C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]
- c++中查找字符串,并删除某个特殊子字符串中,s.find的类型问题
- c++ stl Editor自定义类 对字符串 查找 替换 删除 插入
- 2009年北航:字符串的查找删除
- c++编写字符串查找函数
- C++ 删除字符串前后空白函数
- [置顶] 二叉树的建立、节点查找以及节点删除C和C++实现
- 位域表示法,查找并删除子字符串
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- 关于动态存储分配函数的调用,在已经过排序的数组中查找及删除内容的操作,余数的分析,删除字符数组中的空格,对链表的逆置,在源字符串中查找子字符串的个数,函数指针以及函数的调用,循环赋值带来的问题以及插入
- 华为机试 删除字符串中所有给定的子串
- C++之String的find方法,查找一个字符串在另一个字符串的什么位置;leveldb字符串转数字解析办法
- C++字符串高效查找替换
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)