朱雯萱 @ 2021-09-14 21:16:27
#include<iostream>
using namespace std;
int main(){
int n;
char a[100];
cin>>n>>a;
int i=0;
while(a[i]!='\0'){
if(a[i]=='z'){
a[i]=='a';
}else{
a[i]=(a[i]-'a'+n)%26+'a';
}
i++;
}
cout<<a;
return 0;
}
by Carnival @ 2021-09-14 21:24:39
你想一下当
by leo888 @ 2021-09-14 21:26:41
请问你有一道黑题怎么做对的?(抄题解小心CTJ!!!)
by leo888 @ 2021-09-14 21:27:38
@朱雯萱
而且你这个要判断是否该数有没有越界?
by leo888 @ 2021-09-14 21:29:24
@朱雯萱
%26应该会出bug的,建议一次一次增,遇到z就变成a就行了
by 朱雯萱 @ 2021-09-14 21:50:15
@leo888 感谢
#include<iostream>
using namespace std;
int main(){
int n;
char a[100];
cin>>n>>a;
int i=0;
for(int i=0;a[i]!='\0';i++){
if(a[i]>='z'){
a[i]=a[i]-26+n;
}else{
a[i]=(a[i]-'a'+n)%26+'a';
}
}
cout<<a;
return 0;
}
这个代码80分,现在是五点过不去了。。。
by leo888 @ 2021-09-14 21:51:36
eeeeeeeee
by leo888 @ 2021-09-14 21:53:59
你康康我的吧
for(i=0;i<s.size();++i)
{
for(j=1;j<=n;++j)//重复n次
{
++s[i];//每次就+1
if(s[i]>'z')s[i]='a';//如果是z的话就变为a
}
}
这是核心代码(字符串做的)(字符数组把s.size()改成strlen(s)就行)
by leo888 @ 2021-09-14 21:54:26
@朱雯萱 放心,这不会爆的
by 朱雯萱 @ 2021-09-15 20:05:56
@leo888 唔
谢谢