当前位置:网站首页>3342:字符串操作 题解
3342:字符串操作 题解
2022-08-11 01:40:00 【wkh2021】
看到 CSDN 上这道题的题解都比较冗长,在这里给出精简代码,
这道题是一道不错的 string 类函数练手题,需要注意的细节不少
AC code:
#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;
#define a_i atoi(get().c_str())
string a[25],get();int n=0;
inline string add(){
string s1=get(),s2=get();
if(s1.size()>5||s2.size()>5)return s1+s2;
int a1=atoi(s1.c_str()),a2=atoi(s2.c_str());
string s3=to_string(a1),s4=to_string(a2);
if(s1==s3&&s2==s4)return to_string(a1+a2);
return s1+s2;
}
inline string copy(){
int x=a_i,pos=a_i,len=a_i;return a[x].substr(pos,len);}
inline string find(){
string s=get();int x=a_i;
return a[x].find(s)==string::npos?to_string((int)s.length()):to_string(a[x].find(s));
}
inline string rfind(){
string s=get();int x=a_i;
return a[x].rfind(s)==string::npos?to_string((int)s.length()):to_string(a[x].rfind(s));
}
inline void insert(){
string s=get();a[a_i].insert(a_i,s);}
inline void reset(){
string s=get();a[a_i]=s;}
inline void print(){
cout<<a[a_i]<<'\n';}
inline void printall(){
for(int i=1;i<=n;i++)cout<<a[i]<<'\n';}
inline string get(){
string s;cin>>s;
if(s=="add")return add();
else if(s=="copy")return copy();
else if(s=="find")return find();
else if(s=="rfind")return rfind();
else if(s=="insert")insert();
else if(s=="reset")reset();
else if(s=="print")print();
else if(s=="printall")printall();
else return s;return "";
}
signed main(){
cin>>n;for(int i=1;i<=n;i++)cin>>a[i];
while(get()!="over");
return 0;
}
边栏推荐
- 络达开发---UI定义+自定义按钮事件
- 21、阿里云oss
- std::format格式化自定义类型
- 软件测试面试题:软件测试的过程的V模型,说出它的缺点?
- 软件测试面试题:在频繁的版本发布中,如何回归测试?
- 连流量染色都没有,你说要搞微服务?
- Is container technology really the savior of environmental management?
- 编程技巧│selenium 更新 chromedriver 驱动
- 【iframe父页面调用子页面的方法】踩坑:获取元素的时候需要用 `[x]`是关键,不能用`.eq(x)`否则获取不到。
- 进程间通信方式(1)无名管道(全CSDN最用心的博主)
猜你喜欢

想进阿里?先来搞懂一下分布式事务

WinForm(五)控件和它的成员

络达开发---自定义Timer的实现

阿里亿级并发册 + 机器学习算法 + 面试册 + 优化册 + 代码册 笔记!!!

apache+PHP+MySQL+word press, page error when installing word press?

Still using Xshell?You are out, recommend a more modern terminal connection tool, easy to use!

Two-dimensional array combat project -------- "Minesweeper Game"

MySQL indexes and transactions

Data Filters in ABP

The latest domestic power supply manufacturers and pin-to-pin replacement manuals for specific models are released
随机推荐
【服务器数据恢复】raid5崩溃导致lvm信息和VXFS文件系统损坏的数据恢复案例
vim simple save window id
编程技巧│selenium 更新 chromedriver 驱动
数据库数据采集利器FlinkCDC
Flink二阶段提交
【视频】报告分享|2021年保险行业数字化洞察
Vim take on a window.
install dlib library
项目构建工具-Gradle入门
R语言多元线性回归、ARIMA分析美国不同候选人对经济GDP时间序列影响
Deep Learning【第二章】
[ASM] The relationship between the role of the bytecode operation ClassWriter COMPUTE_FRAMES and visitMaxs
Shengxin experiment record (part2)--tf.reduce_sum() usage introduction
Lianshengde W801 series 6-Analyze the Bluetooth communication source code of W801 from the perspective of WeChat applet (indicate method)
SQL语句--获取数据库表信息,表名、列名、描述注释等
络达开发---UI定义+自定义按钮事件
This Thursday evening at 19:00, Lesson 5 of the sixth phase of knowledge empowerment丨OpenHarmony WiFi subsystem
Use mysql statement to operate data table (table)
迭代器和生成器
Ambari迁移Spark2到其它机器(图文教程)