0
已采纳
刘斐
高级守护
高级守护
if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')
{
if(s[i]>='D'&&s[i]<='Z'||s[i]>='d'&&s[i]<='z')
{
s[i]-=3;
}
else if(s[i]>='A'&&s[i]<='C'||s[i]>='a'&&s[i]<='c')
{
s[i]+=23;
}
}
主要代码
先输入字符串在进行判断(如上)
刘斐在2018-08-01 12:54:23追加了内容
输入字符串
再遍历这个字符串
判断:
如果是>='D'&&<='Z'||>='d'&&<='z',就让这个字符-3,
如果是>='A'&&<='C'||>='a'&&<='c',就让这个字符23
0
刘凯南
高级守护
高级守护
for(int i=0;i<s.size();i++) if(s[i]>='d'&&s[i]<='z')s[i]-=3; else if(s[i]>='D'&&s[i]<='Z')s[i]-=3; else if(s[i]=='a')s[i]='x'; else if(s[i]=='b')s[i]='y'; else if(s[i]=='c')s[i]='z'; else if(s[i]=='A')s[i]='X'; else if(s[i]=='B')s[i]='Y'; else if(s[i]=='C')s[i]='Z';
0
杨陈卓
新手天翼
新手天翼
思路:
读入一个字符串,然后循环遍历每个字符,如果这个字符的ASCII序号>=大写字母D&&<=大写字母Z||>=小写字母d&&<=小写字母z
这个字符的ASCII序号-3;如果这个字符的ASCII序号>=大写字母A&&<=大写字母C||>=小写字母a&&<=小写字母c这个字符的ASCII序号+23。最后输出字符串。
注:最好用string,输入用getline;
核心代码
for(int i=0;i<s1.size();i++){
if(s1[i]>='D'&&s1[i]<='Z'||s1[i]>='d'&&s1[i]<='z')
s1[i]-=3;
else if(s1[i]>='A'&&s1[i]<='C'||s1[i]>='a'&&s1[i]<='c')
s1[i]+=23;
}
0
叶子煊
中级光能
中级光能
一个主要部分:
for(int i=0;i<=a.size()-1;i++)
{
if((a[i]>='D'&&a[i]<='Z')||(a[i]>='d'&&a[i]<='z'))
{
a[i]-=3;
}
else if((a[i]>='A'&&a[i]<='C')||(a[i]>='a'&&a[i]<='c'))
{
a[i]+=23;
}
}
这题必须注意题目所给条件
和
输入输出样例
题目输入的是加密后的字符串
而输出的是加密前的字符串
要小心!
这题用字符串比较容易些
用个getline输入会更好些!!!
中间需要用if语句来判断条件
望采纳!!
希望对你有一定帮助!!!!
0