文章目录
A 简单的字符串处理
- A 简单的字符串处理
- B 多米诺骨牌
- C 翻转棋
- D 多次方程求解
- E 约瑟夫升级
- F 字符画打印,很简单哒
- G 黄金矿工
- H 天之杯
TimeLimit: 1000ms MemoryLimit:32MB Type: 传统题 Special:No 已AC Problem Description 给你两个字符串s1,s2,若s1中的一部分与字符串s2完全相同,则删去这部分。如果删除后s1中仍存在某一部分与s2相同,则继续删除下去,直到s1中没有任何一部分与s2相同
Input 多组输入
第一行给你两个字符串,用空格分开,保证字符串s2中的各个字符都是不同的,字符串s1,s2长度大于等于1小于等于100
Output 输出s1字符串,若s1字符串为空,则输出NULL
SampleInput aaawww aw
awslawslaw awsl
qifei wuhu
SampleOutput NULL
aw
qifei
Hint 对于第一组样例,字符串s1的变化过程为
aaawww—>aaww—>aw—>NULL
对于第二组样例,字符串s1的变化过程为
awslawslaw—>aw
对于第三组样例,字符串s1的变化过程为
qifei
这是本场的第一道题,难度简单,主要考察字符串的处理问题。
解题思路:每次删除S1中的S2就把那些字符替换为’\0’,然后每次循环把S1更新一遍,最后S1的长度为0输出NULL否则输出剩下的S1。
如果单次循环未删除任何字符就退出break。注意多组输入!!!
代码如下:
#include
using namespace std;
int main(void)
{
char s1[105],s2[105],ch[105];//ch是中转字符串,用于更新S1
while(cin>>s1>>s2)
{
int lens1=strlen(s1);
int lens2=strlen(s2);
int len=lens1;
while(1)
{
int flag=1;//判断是否有删除操作
lens1=strlen(s1);
memset(ch,0,sizeof(ch));
for(int i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?