作者:进击攻城狮
个人主页:欢迎访问我的主页
首发时间:2022年8月28日星期日
订阅专栏:刷题
个人信条:星光不问赶路人,岁月不负有心人。
如果文章有错误,欢迎在评论区指正。
🎉 支持我:点赞👍+收藏⭐️+留言📝
文章目录
768. 忽略大小写比较字符串大小
一般我们用 strcmpstrcmp 可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到 \0
为止。
如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。
但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如 Hello
和 hello
在忽略字母大小写时是相等的。
请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
输入格式
输入为两行,每行一个字符串,共两个字符串。注意字符串中可能包含空格。
数据保证每个字符串的长度都不超过 8080。
输出格式
如果第一个字符串比第二个字符串小,输出一个字符 <
。
如果第一个字符串比第二个字符串大,输出一个字符 >
。
如果两个字符串相等,输出一个字符 =
。
输入样例:
Hello
hello
输出样例:
=
#include<iostream>
#include<string>
#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,s2;
getline(cin,s1);
getline(cin,s2);
int sum=0;
int m=s1.size()>s2.size()?s1.size():s2.size();
for(int i=0;i<m;i++){
if(s1[i] >= 'a' && s1[i] <= 'z')s1[i] -= 32;
if(s2[i] >= 'a' && s2[i] <= 'z') s2[i] -= 32;
if(s1[i]==s2[i]){
sum++;
}
else{
if(s1[i]<s2[i]){
cout<<"<";break;
}else
cout<<">";break;
}
}
if(sum==m)
cout<<"=";
return 0;
}
766. 去掉多余的空格
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。
输入格式
共一行,包含一个字符串。
输出格式
输出去掉多余空格后的字符串,占一行。
数据范围
输入字符串的长度不超过 200200。
保证输入字符串的开头和结尾没有空格。
输入样例:
Hello world.This is c language.
输出样例:
Hello world.This is c language.
#include<iostream>
#include<string>
using namespace std;
int main(){
string s2;
while(cin>>s2){
cout<<s2<<" ";
}
}
767. 信息加密
在传输信息的过程中,为了保证信息的安全,我们需要对原信息进行加密处理,形成加密信息,从而使得信息内容不会被监听者窃取。
现在给定一个字符串,对其进行加密处理。
加密的规则如下:
- 字符串中的小写字母,aa 加密为 bb,bb 加密为 cc,…,yy 加密为 zz,zz 加密为 aa。
- 字符串中的大写字母,AA 加密为 BB,BB 加密为 CC,…,YY 加密为 ZZ,ZZ 加密为 AA。
- 字符串中的其他字符,不作处理。
请你输出加密后的字符串。
输入格式
共一行,包含一个字符串。注意字符串中可能包含空格。
输出格式
输出加密后的字符串。
数据范围
输入字符串的长度不超过 100100。
输入样例:
Hello! How are you!
输出样例:
Ifmmp! Ipx bsf zpv!
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char str[101];
fgets(str,101,stdin);
for(char &c:str)
if(c>='a'&&c<='z')
c=(c-'a'+1)%26+'a';
else
if(c>='A'&&c<='Z')
c=(c-'A'+1)%26+'A';
cout<<str;
return 0;
}
764. 输出字符串
给定一个字符串 aa,请你按照下面的要求输出字符串 bb。
给定字符串 aa 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到 bb 的第一个字符;
给定字符串 aa 的第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到 bb 的第二个字符;
…
给定字符串 aa 的倒数第二个字符的 ASCII 值加最后一个字符的 ASCII 值,得到 bb 的倒数第二个字符;
给定字符串 aa 的最后一个字符的 ASCII 值加第一个字符的 ASCII 值,得到 bb 的最后一个字符。
输入格式
输入共一行,包含字符串 aa。注意字符串中可能包含空格。
数据保证字符串内的字符的 ASCII 值均不超过 6363。
输出格式
输出共一行,包含字符串 bb。
数据范围
2≤a的长度≤1002≤a的长度≤100
输入样例:
1 2 3
输出样例:
QRRSd
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s;
getline(cin,s);
char c=s[0];
for(int i=0;i<s.length();i++){
if(i==s.size()-1)
s[i]+=c;
else
if(i<s.size()-1)
s[i]+=s[i+1];
}
cout<<s<<endl;
return 0;
}