string字符串(c++)

发布于:2024-05-09 ⋅ 阅读:(26) ⋅ 点赞:(0)

string字符串的基础处理:

int n = a.size()                                       把字符串a的大小存在变量n中
sort(a.begin(),a.end())                             把字符串a按字典序列排序
reverse(a.begin(),a.end())                         把字符串a倒过来
a.find(b)                                                     在字符串a中找出字符串b的位置
......                                                            ......

删除单词后缀

描述
给定一个单词,如果该单词以er、ly或者ing后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为0),否则不进行任何操作。
输入
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。
输出
输出按照题目要求处理后的单词。
样例输入
referer
样例输出
refer
#include <iostream>
#include <string>

using namespace std;

int main()
{
	string a;
	cin>>a;
	int n = a.size();
	string b = a.substr(n-2,2);
	string c = a.substr(n-3,3);
	if(b=="er"||b=="ly") cout<<a.erase(n-2,n);
	else if(c=="ing") cout<<a.erase(n-3,n);
	else cout<<a;
	return 0;
}

删除指定单词


题目描述
输入一个句子,包含空格(大于三个单词)
输入一个单词,删除这个句子中出现的第一个单词
输入
一个含空格的字符串。
一个单词
输出
删除指定的单词后的句子
样例输入
he is my brother.
my
样例输出
he is brother.
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	string b;
	cin>>b;
	int lb = a.find(b);
	int lbb = b.size();
	int n = a.size();
	for(int i = 0;i<n;i++)
	{
		if(i<lb||i>lb+lbb)
		{
			cout<<a[i];
		}
	}
	return 0;
}

删除所有单词


题目描述
输入一个句子包含空格(大于三个单词)
输入一个单词,删除这个句子中出现的所有单词
输入
-个含空格的字符串。一个单词
输出
删除指定的单词后的句子
样例输入
he is my brother.
my
样例输出
he is brother.
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	string b;
	cin>>b;
	int n = a.size();
	for(int i = 0;true;i++)
	{
		int lb = a.find(b);
		if(lb<0) break;
		int lbb = b.size();
		a.erase(lb,lbb);
		n = a.size();
	}
	for(int i = 0;i<n;i++)
	{
		cout<<a[i];
	}
	return 0;
}

替换所有单词


题目描述
输入一个句子,包含空格(大于三个单词)
输入2个单词a和b,找到这个句子中的所有a单词,替换成b单词
输入
一个含空格的字符串。2个单词
输出
替换后的句子
样例输入
he is my brother, she is my body
my
you
样例输出
8
he is you brother, she is you body
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	string b;
	getline(cin,b);
	string c;
	getline(cin,c);
	
	int n = a.size();
	for(int i = 0;true;i++)
	{
		int lb = a.find(b);
		if(lb<0) break;
		int lbb = b.size();
		a.replace(lb,lbb,c);
		n = a.size();
	}
	for(int i = 0;i<n;i++)
	{
		cout<<a[i];
	}
	return 0;
}


网站公告

今日签到

点亮在社区的每一天
去签到