输入两个字符串,从第一个字符串中删除第二个字符串中的字符
题目:
输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符
比如输入第一个字符串:“They are students."
第二个字符串: "aeiou"
删除之后的第一个字符串变成"The r stdnts."
题目分析(思路):
创建三个string类对象 第一个s1第二个str2为题目要求的字符串
第三个str3则用来接收最后需要输出的字符串
循环遍历上面两个字符串 str1 str2
如果str1中出现了str2中的任何一个则跳过看下一个字符 然后将str1中的下一个字符再与str2中的字符进行一一比较
以此类推 相同跳过 str1中没有一个与str2中的字符相同则压入str3中
代码展示:
#include <iostream>
#include <string>
using namespace std;int main() {string str1;string str2;string str3;char n=0,m=0;while (1) {n = getchar();if (n == '\n') {break;}str1.push_back(n);}while (1) {m = getchar();if (m == '\n') {break;}str2.push_back(m);}bool sign = true;string::iterator it1 = str1.begin();string::iterator it2;for (it1;it1 != str1.end();++it1) {for (it2=str2.begin();it2 != str2.end();++it2) {if (*it1 == *it2) {sign = false;break;}}if (sign==true){str3.push_back(*it1);}sign = true;}cout << str3.c_str() << endl;system("pause");return 0;
}
部分代码分析:
while (1) {n = getchar();if (n == '\n') {break;}str1.push_back(n);}
这段代码 ↑ 是输入一个字符串str
bool sign = true;string::iterator it1 = str1.begin();string::iterator it2;for (it1;it1 != str1.end();++it1) {for (it2=str2.begin();it2 != str2.end();++it2) {if (*it1 == *it2) {sign = false;break;}}if (sign==true){str3.push_back(*it1);}sign = true;}
这段代码 ↑ 应该是解这个题目的关键核心
巧妙之处在于定义了一个bool变量 用来标记字符串str2中的其中一字符是否与str1中的其中一个字符相同
相同则标记为false 然后跳出循环 进行str1中下一个字符的判断 以此类推
需要注意的是 在压入str3后 要将标记sign重新置为true
否则上面一步sign被置为false 如果str1中下一个字符与str2中字符没有一个相同 那么也不会被压入str3中
输入两个字符串,从第一个字符串中删除第二个字符串中的字符相关推荐
- 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变 ...
- 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
1.题目 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符. 例如,输入"They are students."和"aeiou",则删除之后的第一个字 ...
- 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入 ”They are students.” 和 ”aeiou” ,则删除之后的第一个字符串变成 ”Thy r stdnts.”
题目 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入 "They are students." 和 "aeiou" ,则删除之后的第一个 ...
- 输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符
作者:小 琛 欢迎转载,请标明出处 题目: 输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符 例如,输入str1为" They are students." 和str2 ...
- python编程—输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
题目描述: 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例 如,输入"They are students."和"aeiou", 则删除之后的第一 ...
- C++实现输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
一定要注意一点就是: char* p是一个指针,根本没分配内存,他指向的"abc123ABC" 是只读的,不能改变,你在下面给他赋值肯定是错的 而char p[]是一个数组,已经分 ...
- 【Python】输入两个字符串,在第一字符串中删除第二个字符串中所包含的所有字符...
s1 = input('s1: ') s2 = input('s2: ') for i in s1:if i in s2:s1 = s1.replace(i,'') print(s1)
- c语言代码,输入两个数,输出第一个数到第二个数之间所有的数
用C语言实现,输入两个数,输出第一个数到第二个数之间包含的所有数 #include <stdio.h> int num(int x, int y); int main() {int a1, ...
- 从一个字符串中删除另一个字符串中出现过的字符
http://blog.csdn.net/walkerkalr/article/details/39001155 定义一个函数,输入两个字符串,从第一个字符串中删除在第二个中出现过的所偶字符串.例如从 ...
最新文章
- 整合mybatis——使用纯注解整合、使用Mapper+Mapper.xml整合、使用mybatis.cfg.xml整合
- 调度锁解决任务间资源共享问题
- python自关联_Django之Mode的外键自关联和引用未定义的Model方法
- QSetting介绍
- USACO2.2【统计,dp,模拟,位运算】
- 前端学习(2153):Vue的终极解决方案
- 做自适应网站专业乐云seo_什么叫网站优化-网站建设-SEO优化
- 让人兴奋的视差滚动(Parallax Scrolling)效果网站分享
- (100)详细描述一个你做过的项目, 面试必问(二十四)(第20天)
- Linux基础命令---间歇执行命令watch
- eclipse中安装flex插件
- Spring+IOC(DI)+AOP概念及优缺点
- 如何隐藏所有的导航栏
- 数据库备份与快照备份
- Linux学习---Day03
- 【专题5: 硬件设计】 之 【70.开关电源 之 电感计算例子】
- Python关键字keyword
- Ubuntu20.04设置WiFi热点
- 几个好中的计算机类EI源刊
- 微信世界争霸服务器,微信世界争霸小程序进不去游戏怎么办