作者:进击攻城狮
个人主页:欢迎访问我的主页
首发时间:2022年8月27日星期六
订阅专栏:刷题
个人信条:星光不问赶路人,岁月不负有心人。
如果文章有错误,欢迎在评论区指正。
🎉 支持我:点赞👍+收藏⭐️+留言📝
文章目录
769. 替换字符
给定一个由大小写字母构成的字符串。
把该字符串中特定的字符全部用字符 #
替换。
请你输出替换后的字符串。
输入格式
输入共两行。
第一行包含一个长度不超过 3030 的字符串。
第二行包含一个字符,表示要替换掉的特定字符。
输出格式
输出共一行,为替换后的字符串。
输入样例:
hello
l
输出样例:
he##o
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
char c;
cin>>s;
// getline(cin,s);
cin>>c;
for(int i=0;i<s.size();i++){
if(s[i]==c||s[i]==(c-32)){
s[i]='#';
cout<<s[i];
//cout<<'#';
}else
cout<<s[i];
}
}
773. 字符串插入
有两个不包含空白字符的字符串 strstr 和 substrsubstr,strstr 的字符个数不超过 1010,substrsubstr 的字符个数为 33。(字符个数不包括字符串结尾处的 \0
。)
将 substrsubstr 插入到 strstr 中 ASCII 码最大的那个字符后面,若有多个最大则只考虑第一个。
输入格式
输入包括若干行,每一行为一组测试数据,格式为
str substr
输出格式
对于每一组测试数据,输出插入之后的字符串。
输入样例:
abcab eee
12343 555
输出样例:
abceeeab
12345553
#include <iostream>
using namespace std;
int main()
{
string s,sub;
while(cin >> s>>sub)
{
int idx=s[0];
for(int i=0;i<s.size();i++)
if(s[i] > s[idx])
{
idx= i;
}
s.insert(idx+1,sub);
cout<<s<<endl;
}
}
772. 只出现一次的字符
给你一个只包含小写字母的字符串。
请你判断是否存在只在字符串中出现过一次的字符。
如果存在,则输出满足条件的字符中位置最靠前的那个。
如果没有,输出 no
。
输入格式
共一行,包含一个由小写字母构成的字符串。
数据保证字符串的长度不超过 100000100000。
输出格式
输出满足条件的第一个字符。
如果没有,则输出 no
。
输入样例:
abceabcd
输出样例:
e
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
bool l=0;
while(cin>>s){
for(int i=0;i<s.size();i++){
if(s.find(s[i])==s.rfind(s[i])){
l=1;
cout<<s[i];
break;
}
}
if(l==0)cout<<"no";
return 0;
}
}
762. 字符串匹配
给定两个长度相同的字符串 aa 和字符串 bb。
如果在某个位置 ii 上,满足字符串 aa 上的字符 a[i]a[i] 和字符串 bb 上的字符 b[i]b[i] 相同,那么这个位置上的字符就是匹配的。
如果两个字符串的匹配位置的数量与字符串总长度的比值大于或等于 kk,则称两个字符串是匹配的。
现在请你判断给定的两个字符串是否匹配。
输入格式
第一行包含一个浮点数 kk,第二行包含字符串 aa,第三行包含字符串 bb。
输入的字符串中不包含空格。
输出格式
如果两个字符串匹配,则输出 yes
。
否则,输出 no
。
数据范围
0≤k≤10≤k≤1,
字符串的长度不超过 100100。
输入样例:
0.4
abcde
xbacd
输出样例:
no
#include<iostream>
#include<string>
using namespace std;
int main(){
double n;
string s1,s2;
double count=0;
cin>>n>>s1>>s2;
for(int i=0;i<s1.size();i++){
if(s1[i]==s2[i]){
count++;
}
}
if(count/s1.size()>=n)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}