1. 寻找子串:
题目: 输入两个字符串a,b如果能在b是a的子串,就输出b is substring of a;如果a是b的子串,就输出a is substring of b;如果都不满足,输出No substring;
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
cin>>a>>b;
if(a.find(b)!=a.npos)//find返回值为整数,如果能找到,那么一定不等于nops,如果不存在包含关系,那么一定返回nops
{
cout<<b<<" is substring of "<<a<<endl;
}
else if(b.find(a)!=b.npos)
{
cout<<a<<" is substring of "<<b<<endl;
}
else{
cout<<"No substring"<<endl;
}
return 0;
}
2. 单词的长度:
题目:
输入一行单词序列,相邻单词之间由 11 个或多个空格间隔,请对应地计算各个单词的长度。
注意:如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。
依次输出对应单词的长度,之间以逗号间隔。
输入:She was born in 1990-01-02 and from Beijing city. 输出:3,3,4,2,10,3,4,7,5
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
bool flag = true;
while (cin >> s) {
if (flag) {
flag = false;
cout << s.size();
} else {
cout << ',' << s.size();
}
}
return 0;
}
3.删除相应单词后缀:
题目:给定一个单词,如果该单词以 er
、 ly
或者 ing
后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为 00),否则不进行任何操作。
eg:输入 player 输出play 输入string 输出str;
代码:
#include<bits/stdc++.h>
using namespace std;
string s;
int main(){
cin>>s; //输入
int siz=s.size(); //取得大小
if(s[siz-1]=='y'&&s[siz-2]=='l')s.erase(siz-2,2); //如果结尾为 ly ,删除 ly
else if(s[siz-1]=='r'&&s[siz-2]=='e')s.erase(siz-2,2); //如果结尾为 er ,删除 er
else if(s[siz-1]=='g'&&s[siz-2]=='n'&&s[siz-3]=='i')s.erase(siz-3,3); //如果结尾为 ing ,删除 ing
cout<<s<<endl; //输出
return 0;
}